欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于使用jquery ajax调用asp.net httphandler出现的有关问题,求达人

更新时间: 2014-01-05 01:54:01 责任编辑: Author_N1

 

关于使用jquery ajax调用asp.net HttpHandler出现的问题,求达人
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function bbb() {
            $.ajax({
                type: "POST",
                url: "http://localhost:10475/Handler1.ashx",
                success: function (result) {
                    alert(result)
                }
            });
        }
    </script>
</head>
<body>
<input type="button" value="aaa" onclick="bbb()"/>
</body>
</html>

上面一个页面,如果和Handler1.ashx在一个站点下,是可以alert的。


Request URL:http://localhost:10475/Handler1.ashx
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:0
Host:localhost:10475
Origin:http://localhost:10475
Referer:http://localhost:10475/HTMLPage1.htm
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
X-Requested-With:XMLHttpRequest
Response Headersview source
Cache-Control:private
Connection:Close
Content-Length:11
Content-Type:text/plain; charset=utf-8
Date:Wed, 06 Nov 2013 08:10:57 GMT
Server:ASP.NET Development Server/10.0.0.0
X-AspNet-Version:4.0.30319


但是如果放在别的站点,就访问不了。


Request URL:http://localhost:10475/Handler1.ashx
Request Headersview source
Accept:*/*
Origin:http://localhost:10488
Referer:http://localhost:10488/HTMLPage1.htm
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36


不知道是jquery 还是 asp.net 的问题。
--参考方法--
是浏览器安全的问题,ajax不能直接请求跨域的页面

跨域了可以使用JSONP操作,要么就需要做代理页面

楼主去了解下这2种兼容性最好的方法
--参考方法--
Request URL:http://localhost:10475/Handler1.ashx
Request Headersview source
Accept:*/*
Origin:http://localhost:10488


端口不一致也算跨域,IE8下端口不一致不算,IE9+没测试,不知道算不算
--参考方法--
改用JSONP就好了,jsonp就是动态插入script标签加载指定的url,指定的url接受回调函数名称并输出js代码执行回调函数传递数据

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
        function bbb() {
            $.ajax({
                type: "GET",
                dataType: 'jsonp',
                url: "http://www.coding123.net/jsonp.asp?callback=?",
                success: function (result) {
                    alert(result);
                }
            });
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:54:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2764/
本文WWW.DOC100.NET DOC100.NET版权所有。