Jquery 如何使用ajax post将数据发送到phonegap中的php文件?
我正在尝试对一个php文件做一个ajax端口,看起来它不想发送数据 我有一个使用phone gap library的android项目,看起来如果我去做一个,它就会工作:Jquery 如何使用ajax post将数据发送到phonegap中的php文件?,jquery,ajax,post,cordova,get,Jquery,Ajax,Post,Cordova,Get,我正在尝试对一个php文件做一个ajax端口,看起来它不想发送数据 我有一个使用phone gap library的android项目,看起来如果我去做一个,它就会工作: $(document).ready(function () { $.ajax({ type: 'GET', url: 'http://example.com/functions.php', data:
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://example.com/functions.php',
data: { get_param: 'login' },
dataType:'json',
success: function (data) {
alert('success');
});
},
error: function () {
console.log(XMLHttpRequest.errorThrown);
}
});
});
所以,这是正确的。但当我尝试发布tome数据时,它不会:
var vals = $("#form").serialize();
$.ajax({
type: 'POST',
url: 'http://example.com/functions.php',
data: vals,
dataType:'json',
success: function (data) {
alert('success');
$.mobile.changePage( "test.html", { transition: "slideup"} );
},
error: function () {
alert('fail');
}
});
在前面的示例中,我得到了失败警报
我也试过:
$.post("http://example.com/functions.php", vals ,
function(data){ //Your onsuccess call backfunction
alert(data);
}, "json" //retun data type //can be html/json/xml/text
);
e.preventDefault();
但这也失败了
你知道为什么get有效,而不是post吗?现在我没有从php函数返回任何东西,但我至少应该得到success
警报
非常感谢
编辑:我的php代码检查ajax发送的VAL
。其中一个是name
if (isset($_POST['name'])) {
return "name";
}
你的客户端代码看起来不错。
$.ajax
和$.post
调用都应该成功地将表单值提交到服务器端脚本。从那以后,执行的就是这个脚本,它可能会抛出错误。我建议您使用javascript调试工具,如FireFox中的FireBug或Google Chrome中的Chrome developer toolbar,它允许您监视AJAX请求。您可以看到实际发送的请求和来自服务器的响应。您可以看到服务器返回的HTTP状态代码以及精确的响应。因此,如果此状态代码不同于200(这是您的情况),则错误
回调将在客户端上执行。所以,去调试并修复你的functions.php
服务器端脚本。你能展示一下你的php代码吗?所以,来自ajax调用的success
,意味着帖子成功了,或者php脚本没有正确解析数据?好的,我成功了,是php。我真傻,没有添加post条件,所以我只添加了if(isset($\u post['name'))…
,我成功了