好吧,我正在尝试访问php web服务(返回jsonp和url格式为http://service.com/service.jsonp)。首先是它默默地失败了。所以,我尝试直接在Visual Studio和IE中调试以下代码。
<script type="text/javascript">
$(document).ready(function () {
$('#btnClick').click(function () {
$.ajax({
url: "http://url.jsonp",
dataType: "jsonp",
jsonp: "data",
jsonpCallback: "jsonpcallback"
});
function jsonpcallback(data) {
alert('doinng it now');
}
});
});
</script>
单击后,数据进入VS(这是一个正确的jsonp输出),但VS会抛出错误。结果如下:
复制代码
data({"code":001,"msg":"true","data":{"obj1":"val1","obj2":"val2"}})
VS中的错误:Microsoft JScript运行时错误:“数据”未定义
答案 0 :(得分:0)
看来,服务器的返回是错误的。给定jQuery参数,结果应该看起来像jsonpcallback({...})
。你能检查一下,请求的URL是这样的:
http://url.jsonp/?data=jsonpcallback
如果是,则服务器端执行错误并将GET参数名称与其值混合。