我正在使用此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/

10-11 11:17