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="*" />
回复: Cannot POST /js/ajax.php
答案 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”
希望这有帮助。