Cordova $ .ajax请求无法正常工作

时间:2017-11-21 08:21:35

标签: ajax cordova request whitelist

我遇到了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

2 个答案:

答案 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}' : '')