jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JQuery JSONP跨域调用没有做任何事情大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
每当我通过 jquery对我设置的任何页面(本地或我的服务器)进行 JSONP调用时,我得到的只是静处理. Firebug报告200 OK,响应看起来不错.我设置警报框以在成功或弹出时弹出
失败,但都没有出现.我用什么网址似乎并不重要,没有任何东西弹出.

但是,如果我使用twitter json页面,那么我的成功警告框会按预期出现,所以我的回复显然有问题,但我不知道是什么.

作为实验,我复制了twitter json响应并将其上传到我的booroo.com域.它应该是相同的,但仍然没有.我将响应页面上的标题设置为“application / json”和utf-8但仍然没有.

请帮助,我现在花了一整天时间,我不知道还有什么可以尝试.

$.ajax({
  dataType: 'jsonp',//  url: 'http://booroo.com/json.asp?callBACk=?',url: 'http://twitter.com/users/usejquery.json?callBACk=?',success: function () {
        alert("success");     
    },error: function(x,y,z) {
        alert("error"+x.responseText);
    }       
});

响应json.asp文件包含以下经典ASP头文件,然后是从twitter复制的json响应(我已经尝试过其他人没有任何成功.)

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
response.addheader "pragma","no-cache"
response.addheader "cache-control","private"
Response.Cachecontrol = "no-cache"
response.ContentType="application/json"
Response.CodePage = 65001 
Response.CharSet = "UTF-8" 
%>({"test_param":12345});

解决方法

你有问题,因为这不是响应的实际外观:)

当你指定jsonp或callBACk =?它被替换了,它实际上在做什么:?callBACk = functioName,它会使你的响应变成这样的:

{"test_param":12345}

对此

functionName({"test_param":12345});

这是JSONP工作所必需的.查看更新的URL以查看我的意思:http://twitter.com/users/usejquery.json?callback=functionName

大佬总结

以上是大佬教程为你收集整理的JQuery JSONP跨域调用没有做任何事情全部内容,希望文章能够帮你解决JQuery JSONP跨域调用没有做任何事情所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。