我遇到了cordova ajax reuest的问题。
$.ajax({
url: syncURL,
data: (changed ? {start: changed + 1} : ''),
dataType: "json",
success: function (data) {
console.log('Ajax success');
callback(data);
},
error: function(model, response) {
console.log('Ajax error');
//app.notify(response.responseText, 'error');
callback(null);
}
});
该程序显示Ajax在控制台日志中的成功。我可以在浏览器上观看应用内容时看到内容:
cordova serve
不幸的是,如果我想部署到ios模拟器或Android设备上,应用程序将不会加载内容并获得没有数据的空json。
我做错了什么。模拟器或Android设备有网络连接。 我也没有在日志中看到任何东西。 还添加了
cordova plugins add cordova-plugin-whitelist
cordova版本是7.1.0
答案 0 :(得分:0)
从phonegap-vue-f7 template开始并使用axios作为Ajax库,我遇到了同样的错误。
对于对http://my.domain.com/api/request
的相同请求:
200
返回代码cordova serve
(使用phonegap-vue-f7 template返回npm start
)404
phonegap-vue-f7 template为此提供了一个预填充的config.xml
:
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
这时我必须安装cordova-plugin-whitelist
才能使其正常工作。
因此正确配置的cordova-plugin-whitelist plugin
似乎是答案。
答案 1 :(得分:-1)
不确定,但可能是data:
值不正确
data: (changed ? {start: changed + 1} : '')
如果您更改为:
,该怎么办?data: (changed ? '{start: changed + 1}' : '')