我开发了一个使用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,它的工作原理......同样的代码!
答案 0 :(得分:0)
通过注释掉类型
来实现它type: (type.toLowerCase()==='post'?'POST':'GET'),
如果我添加一个类型,'GET'或'POST'请求失败.....不确定为什么.....