使用 JSONP 从服务器返回响应
Posted
技术标签:
【中文标题】使用 JSONP 从服务器返回响应【英文标题】:Return response from Server using JSONP 【发布时间】:2011-12-14 18:14:15 【问题描述】:[重新编辑] 我正在尝试将值传递给服务器并使用 JSONP 从服务器读取。我已经能够实现这段代码了:
var record = new Object();
record["deviceID"] = "123";
options =
url: "http://192.168.2.143:8080/commapi/comaction/init?callback=?",
type: "POST",
data: dataset: JSON.stringify(record) ,
jsonp: "callback",
dataType: "jsonp",
callbackParameter: "jsoncallback",
success: function(result)
alert(result["retdic.deviceID"]);
,
error: function(XHR, textStatus, errorThrown)
alert("ERROR: " + textStatus);
alert("ERROR: " + errorThrown);
;
jQuery.ajax(options);
);
但是,我收到来自 FireFox firebug 的无效标签错误。谁能让我知道我做错了什么?一些例子会很棒;你很感激。
谢谢。
[重新编辑] 产生的错误是:
invalid label
"ret":"ACK","retdic":"ak":"Bvr7/ljfj...X212yA+XJR5+AdrmE=","deviceID":"123"
返回的错误是 parseError。我不确定我哪里出错了。谁能帮帮我好吗?
谢谢。
【问题讨论】:
尝试仅使用 alert(result) 甚至更好的 console.log(result) 来查看您从页面中获得的信息 :) Marco,没有返回结果:( 尝试使用 Firebug/IE Developers NET 跟踪,查看您的 json 调用是否到达目标页面,以及是否得到响应:) Marco,我添加了现在产生的错误.. 是在php脚本上还是在你的页面上?您可以尝试使用普通数据,例如 data: deviceID : 123 吗? :) 【参考方案1】:这可以解决你的问题:
Jquery getJSON to external PHP page
只需确保您共享了一些服务器端代码,以便我们知道响应应该是什么样子
【讨论】:
【参考方案2】:试试这个
alert(result.retdic.deviceID);
【讨论】:
你只能用这个警报试试吗(JSON.stringify(result));在您的成功回调中。它将提醒成功函数已返回的所有 json 数据。还要删除 jsonp:"callback",并在你的代码中使用 dataType:"json"。 感谢 Vikas,但我仍然收到无效标签错误..我现在束手无策..不知道我做错了什么!!以上是关于使用 JSONP 从服务器返回响应的主要内容,如果未能解决你的问题,请参考以下文章
Yii2 - JSONP 响应不返回任何内容(空白)并且不起作用,但 JSON 可以
如何反序列化 JSONP 响应(最好使用 JsonTextReader 而不是字符串)?