加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 未定义JSONP回调方法

发布时间:2020-12-16 07:02:31 所属栏目:asp.Net 来源:网络整理
导读:我试图在一个greasemonkey脚本中使用 jquery来获取jsonp回调.这是我的jquery: $.ajax({ url: "http://mydomain.com/MyWebService?callback=?",data: { authkey: "temphash" },type: "get",dataType: "json",cache: false,success: function(data) { console
我试图在一个greasemonkey脚本中使用 jquery来获取jsonp回调.这是我的jquery:

$.ajax({
    url: "http://mydomain.com/MyWebService?callback=?",data: { authkey: "temphash" },type: "get",dataType: "json",cache: false,success: function(data) {
        console.log(data);
    }
});

在我的webservice(asp.net)中,我正在使用内容类型的application / javascript返回响应.服务器实际发回的响应是:

jsonp1276109314602({"message":"I'm getting tired of this not working"})

jsonp1276109314602方法名称是由jquery随机生成的,我用Request.QueryString [“callback”]抓住它

但是我的成功函数从未被调用过,而firebug控制台给我一个错误,说jsonp1276109314602没有定义.

我究竟做错了什么?

注意
我正在craigslist页面上的greasemonkey脚本中进行此调用.这是一个跨域请求,但我可以看到请求实际上是在服务器上并返回一个好的响应,但无论出于何种原因,当响应返回时,jquery创建的注册回调似乎不存在.如果我从craigslist页面在firebug控制台中运行脚本,它可以正常工作,但是当它从greasemonkey脚本运行时则不行.

解决方法

你有没有试过:

$.ajax({
    url: "http://mydomain.com/MyWebService",dataType: "jsonp",success: function(data) {
        console.log(data);
    }
});

从docs开始:

“jsonp”: Loads in a JSON block using JSONP. Will add an extra “?callback=?” to the end of your URL to specify the callback.

我没有检查过jQuery的源代码,但除非为dataType选项指定jsonp,否则可能不会创建回调函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读