ajax 请求上的 Cordova 升级和 jQuery 错误
Posted
技术标签:
【中文标题】ajax 请求上的 Cordova 升级和 jQuery 错误【英文标题】:Cordova Upgrade and jQuery error on ajax request 【发布时间】:2014-12-18 14:25:53 【问题描述】:我使用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是问题所在。我错过了一些小东西,但无法弄清楚它是什么.....如果我回到使用旧版本的科尔多瓦,它可以工作......同样的代码!
【问题讨论】:
【参考方案1】:通过注释掉类型让它工作
type: (type.toLowerCase()==='post'?'POST':'GET'),
如果我添加一个类型,无论是“GET”还是“POST”,请求都会失败.....不知道为什么.....
【讨论】:
以上是关于ajax 请求上的 Cordova 升级和 jQuery 错误的主要内容,如果未能解决你的问题,请参考以下文章