【问题标题】:AJAX request from Cordova app returns 'status=0'来自 Cordova 应用程序的 AJAX 请求返回 'status=0'
【发布时间】:2013-01-30 15:48:47
【问题描述】:

我有一个问题。我正在为 ios 开发一个 cordova 应用程序,并尝试使用 jQuery 发出 AJAX 请求。外部服务器在 cordova.plist 中被列入白名单(实际上我只是为了确定将 * 列入白名单)。我确信该函数是正确的,因为我可以在 chrome 中手动调用它,并且它返回正确的数据。

但是,它在应用程序中运行时会返回以下标头数据:
{"readyState":0,"responseText":"","status":0,"statusText":"error"}

crossDomain 更改为false 时,它返回以下标头数据: {"readyState":4,"responseText":"","status":404,"statusText":"error"}

$.ajax({  
   type: "POST",  
   url: url,  
   data: request,  
   crossDomain:true,  
   success:  
       function(data, textStatus, jqXHR){  
           console.log('succes :S');  
           console.log(data);  
           console.log(textStatus);  
           console.log(jqXHR);  
       },  
    error:   
       function(data, textStatus, jqXHR){  
           console.log('fail :(');  
           console.log(data);  
           console.log(textStatus);  
           console.log(jqXHR);  
       }  
}); 

我希望有人能告诉我哪里出了问题,因为我尝试了所有我能想到的东西。

编辑:谢谢你们,但我想出了问题所在。该项目曾经进行过加密,并且在本地类中仍然存在一些代码残余。所以它加密或解密了一些 URL。这个话题现在可以关闭了。

【问题讨论】:

  • “白名单”是否意味着服务器将Access-Control-Allow-Origin标头作为*发送?
  • @devnull69 白名单意味着告诉 Cordova 和移动操作系统您希望向白名单域发出网络请求。 docs.phonegap.com/en/2.3.0/…
  • 您有什么方法可以确保您的应用发送的请求正在发送到服务器?

标签: jquery ios ajax post cordova


【解决方案1】:

我不久前回答了这个问题,并提供了修复 Mootools 和 jQuery 的方法(以及一个普通的 javascript 方法)

这里: PhoneGap ajax call fails everytime

【讨论】:

    【解决方案2】:

    如果您使用 IP 或虚拟 DNS,而不是 localhost。

    【讨论】:

      【解决方案3】:

      您是否尝试过像下面这样指定数据类型“JSONP”

      dataType: 'jsonp'
      

      解决js跨域调用问题

      看这篇文章

      Make cross-domain ajax JSONP request with jQuery

      【讨论】:

      • 您还需要确保将服务器响应从 "{....}" 更改为 callback("{....}")。但是 OP 没有说明从服务器接收 JSON 的任何内容
      • 谢谢你们,但我发现了问题所在。该项目曾经进行过加密,并且在本机类中仍然存在一些代码残余。所以它加密或解密了一些 URL。这个话题现在可以关闭了。
      【解决方案4】:

      从您的 HTML 文件中删除以下元标记:

      https://ssl.gstatic.com; style-src 'self' 'unsafe-inline';媒体源 *">

      希望这行得通!!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-05
        • 2015-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        • 2016-10-19
        相关资源
        最近更新 更多