Jquery 如何使用ajax post将数据发送到phonegap中的php文件?

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:

我正在尝试对一个php文件做一个ajax端口,看起来它不想发送数据

我有一个使用phone gap library的android项目,看起来如果我去做一个,它就会工作:

$(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'))…
,我成功了