我正在使用此js函数将网络与Arduino服务器通信:
function requestAction(actionId) {
$.ajax({
type: 'get',
//contentType: 'text/javascript',
url: "http://192.168.2.102/requestAction",
data: { "actionId" : actionId },
success:function(json) {
jsonpRefPR(json);
},
processData: false,
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "jsonpRefPR",
error:function() {
alert("An error ocurred while requestAction()!");
}
});
}
jQuery v1.4.2的工作原理很吸引人,我有以下请求网址:
http://192.168.2.102/requestAction?callback=jsonpRefPR&actionId=0
这正是Arduino期望的,因此一切都可以工作。
但是,当我使用较新的jQuery v1.9.1时,出现以下错误的请求url:
http://192.168.2.102/requestAction?callback=jsonpRefPR&[object%20Object]&_=1378730663347
所以Arduino不会“理解”这个URL,所以我在AJAX函数中遇到了错误...
怎么了?!
最佳答案
删除processData
参数-您不需要它,这会阻止data
正确序列化。
关于javascript - 较新的jQuery版本导致错误的AJAX回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18699062/