0

我正在使用 jquery Ajax 以下代码行,仅对FirefoxBlackbarry浏览器有问题

职位:

navigator.geolocation.getCurrentPosition(currentPosition);

function currentPosition(res){
                window.res = res;
}

代码:

var postion = window.res;

    $.ajax({
          url: 'SendLocation',
          type: 'post', 
          data: position, // Position is navigator.geolocation.getCurrentPosition
          success: function(res){
                alert(res);
       }
    });

错误:

NS_ERROR_XPC_BAD_OP_ON_WN_PROTO: Illegal operation on WrappedNative prototype object

value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );

在阅读FormData Object not submit via jQuery AJAX call post后,我添加了以下代码行,代码变为 processData: false, contentType: false,

更新代码:

$.ajax({
      url: 'SendLocation',
      type: 'post', 
      data: position, // Position is navigator.geolocation.getCurrentPosition
      processData: false,   //Added this line
      contentType: false,   //Added this line

      success: function(res){
            alert(res);
   }
});

这样没有错误发生,但代码也停止工作。

4

2 回答 2

0

感谢所有猜测帮助我,但在这里让我告诉你我做了什么。我只是从位置对象中选择我需要的值并创建一个新对象并用我从位置获得的数据填充它并将其发布到服务器现在它工作正常谢谢..!

于 2013-05-19T19:35:16.940 回答
0

我建议在您的位置变量上使用 serialize() ,因为它会尝试发送地理位置 DOM 对象..

https://developer.mozilla.org/en-US/docs/DOM/window.navigator.geolocation.getCurrentPosition

如果您使用 firebug 并检查您的 POST 变量,则会出现此错误。

于 2013-05-12T16:00:32.420 回答