首页 新闻 会员 周边

Ajax跨域问题

1
[已解决问题] 解决于 2014-12-10 13:59

  var jsonboard = (function () {
            var result;
            $.ajax({
                type: "get",
                async: false,
                url: "http://222.73.2.200:8023/ServiceHandler.ashx",
                data:{"action":2},
                dataType: "jsonp",
                jsonp: "jsoncallback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
                jsonpCallback: "board",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                success: function (boarddata) {
                    if (boarddata.state == 0) {
                        if (boarddata.data != null) {
                            result = boarddata.data;
                        }
                    }
                }
            });
            return result;
        })();

 

直接访问路径可以取到数据,就是在页面上无显示,报http://f.hiphotos.bdimg.com/wisegame/pic/item/b6628535e5dde711d573a9c1a4efce1b9d166160.jpg net::ERR_CONNECTION_RESET index.aspx:215错误

混沌战士的主页 混沌战士 | 初学一级 | 园豆:171
提问于:2014-09-19 14:31
< >
分享
最佳答案
0

建一个你在后台用WebClient 对象反问ashx。

WebClient client = new WebClient ();

var str = client.DownloadString ("http://222.73.2.200:8023/ServiceHandler.ashx");

 再用ajax调用本项目的方法。

 

跨域有时候很坑爹

奖励园豆:5
悟行 | 专家六级 |园豆:12559 | 2014-09-19 16:47

这么高级,没这样玩过诶,大侠你觉得我的Ajax写的有问题吗?直接访问url是取到数据的啊

混沌战士 | 园豆:171 (初学一级) | 2014-09-19 17:02
其他回答(1)
0

这段代码没问题,jsonp支持跨域,你看看是不是其他部分的js报错导致的这段代码没有执行。如果还有其他js代码,将本段代码单独放到一个<script type="text/javascript"></script>代码块中试试看。

libaoheng | 园豆:1433 (小虾三级) | 2014-09-19 18:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册