Phonegap Ajax方法POST错误404 NOT FOUND

时间:2017-09-30 10:20:32

标签: jquery ajax cordova http-status-code-404 phonegap-plugins

Phonegap ajax方法GET运行良好但POST给出错误。我试过cordova-plugin-whitelist,但没有运气仍然没有找到错误404。

这是我的ajax代码

function GetSlider(){
    serverRoot = "/js/ajax.php";
    $.ajax({
        type: "post",
        url: serverRoot,
        data: "act=GetSlider",
        dataType: "JSON",
        beforeSend: function(){
            $("#loading").show();
        },
        success: function(){
            $("#loading").hide();
        }
    });         
}

config.xml中

<platform name="android">
    <allow-intent href="market:*" />
</platform>
<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="~1.2.2" />
<gap:plugin name="cordova-plugin-whitelist" source="npm" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />
<allow-navigation href="dubailibrary.com*" />
<access origin="*" />

Check this screenshot

回复: Cannot POST /js/ajax.php

2 个答案:

答案 0 :(得分:0)

尝试使用内容安全策略方法:Cordova Plugin Whitelist

答案 1 :(得分:0)

您需要托管服务器并在jquery ajax中调用url以获取响应。

以下是调用post webservice的示例。

function CallPostWS(){

  var form = new FormData();
  form.append("Param", "test");
  form.append("param2", "testing");

  var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://posttestserver.com/post.php",
    "method": "POST",
    "headers": {
      "cache-control": "no-cache"
    },
    "processData": false,
    "contentType": false,
    "mimeType": "multipart/form-data",
    "data": form
  }

  $.ajax(settings).done(function (response) {
    console.log(response);
  });
}

只需在服务器上托管你的ajax.php即可。

如果您正在运行本地服务器,则网址路径将为“http://localhost:8000/path-to-your-php-file/ajax.php

如果是直播,则托管网址路径将显示为“http://www.example.com:8000/path-to-your-php-file/ajax.php

希望这有帮助。