在ajax请求上的Cordova升级和jQuery错误

时间:2014-12-18 14:25:54

标签: jquery ajax cordova

我开发了一个使用cordova v2.4 for android的应用程序,一切正常。我更新了使用最新的cordova(v4)并且在插件有点麻烦之后我想我已经备份并运行了但是我收到了一个以前工作的ajax请求的错误。我已经尝试了所有我能想到的但却无法弄清楚的事情。问题代码是.....

var ajx= $.ajax({
  type: (type.toLowerCase()==='post'?'POST':'GET'),
  url: this._prepareUrl(url)+(sid ? '&session='+sid : ''),
  data: data,
  dataType:'html',
  timeout: 60000,
  beforeSend: function(jqXHR) {
  jqXHR.overrideMimeType('text/html;charset=iso-8859-1');
  },
  success: function(html, textStatus, jqXHR){
        //doesnt reach here
  },
  error: function( jqXHR, textStatus, errorThrown){
        console.log('jqXHR = ' +jqXHR + ' textStatus = ' +textStatus + ' errorThrown = ' +errorThrown);  
         return false;}});

捕获的错误是:

jqXHR = [object Object] textStatus = parsererror errorThrown =错误:jQuery183007247294159606099_1418907848272未被调用

index.html有:

<meta http-equiv="Access-Control-Allow-Origin" content=""/> <script src="cordova.js"></script>

config.xml有:

<access origin="" subdomains="true" />

代码根本没有改变,所以升级到最新的cordova就是问题所在。我错过了一些小但却无法弄清楚它是什么.....如果我回去使用旧版的cordova,它的工作原理......同样的代码!

1 个答案:

答案 0 :(得分:0)

通过注释掉类型

来实现它
type: (type.toLowerCase()==='post'?'POST':'GET'),

如果我添加一个类型,'GET'或'POST'请求失败.....不确定为什么.....