2012-01-22 33 views
0

即时通讯设法做一个ajax端口到一个php文件,它似乎是不想发送的数据。如何使用ajax post将数据发送到手机中的php文件?

我有一个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); 
       } 

      }); 
     }); 

所以,这个工作正常。但是,当我尝试后大部头的数据它没有:

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'); 
         } 

        }); 

这个前面的例子中,我得到了fail alert

我也试着:

$.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的作品,但不是帖子的任何想法?现在我没有任何从PHP函数返回,但我应该至少得到success警报。

很多感谢的

编辑:PHP代码我有由AJAX发送的vals检查。其中之一是name

if (isset($_POST['name'])) { 
    return "name"; 
} 
+0

可以显示您的一点PHP代码 – Rafay

+0

我更新了我的代码 – Patrioticcow

回答

0

您的客户端代码看起来不错。 $.ajax$.post调用都应成功将表单值提交给服务器端脚本。从那里开始,就是执行这个脚本,它可能会引发错误。我建议你使用JavaScript调试工具,例如FireFox中的FireBug或Google Chrome中的Chrome开发人员工具栏,它允许您监控AJAX请求。您可以看到发送的实际请求以及服务器的响应。您可以看到服务器返回的HTTP状态代码以及精确的响应。所以如果这个状态码不是200(这是你的情况),error回调将在客户端执行。所以去调试并修复你的functions.php服务器端脚本。

+0

所以,从Ajax调用了'success',意味着该职位是成功的,或者PHP脚本没有正确地分析这些数据? – Patrioticcow

+0

好的,我获得了成功,是php。愚蠢的我不添加帖子条件 – Patrioticcow

+0

所以我只是加了'if(isset($ _ POST ['name']))...'我成功了 – Patrioticcow

相关问题