Php不会回应来自jQuery Ajax提交的数据

时间:2013-05-08 23:13:50

标签: php jquery ajax

我正在摆弄jQuery.ajax()和php,我需要一些指示才能让一切工作:

这是php代码:

if(!empty($_POST["fname"])){
        $firstName = $_POST["fname"];
        echo $firstName."<br />";
    }
    if(!empty($_POST["id"])){
        $age = $_POST["id"];
        echo $age;
    }

这是jQuery代码:

jQuery("#ajaxForm").submit(function(event){
    event.preventDefault();

    var firstName = jQuery("#firstName").val();
    var age = jQuery("#age").val();

    // jQuery.ajax() - Perform an asynchronous HTTP (Ajax) request.
    jQuery.ajax({
        type: "POST",
        url: "http://localhost/profiling/index.php",
        data: {fname:firstName, id:age}
    }).done(function(result){
        alert("Your data has been submitted!" + firstName);
    });
    var result;
    console.log(result);

});

jQuery中的值存在,我收到警报,告诉我数据已经提交,firebug将Ajax帖子显示为工作。

为什么php不能获取我的数据并回复它?

3 个答案:

答案 0 :(得分:1)

您需要通过php获取返回的数据并使用它执行某些操作。请参阅下面添加的代码行。

jQuery("#ajaxForm").submit(function(event){
event.preventDefault();

    var firstName = jQuery("#firstName").val();
    var age = jQuery("#age").val();

    // jQuery.ajax() - Perform an asynchronous HTTP (Ajax) request.
    jQuery.ajax({
        type: "POST",
        url: "http://localhost/profiling/index.php",
        data: {fname:firstName, id:age}
    }).done(function(result){
        alert("Your data has been submitted!" + firstName);
        alert("This is the data returned by the php script: " + result)
    });

});

答案 1 :(得分:0)

您必须使用 success 回调函数来处理从POST到您的Php页面的响应。

this thread

中所述

您的代码可能类似于以下内容:

  /* Send the data using post and put the results in a div */
$.ajax({
  url: "test.php",
  type: "post",
  data: values,
  success: function(returnval){
      alert("success");
       $("#result").html('submitted successfully:' + returnval);
  },
  error:function(){
      alert("failure");
      $("#result").html('there is error while submit');
  }   
}); 

所以,你必须以某种方式将你的Php的响应附加到像使用jQuery的DIV这样的HTML元素

希望这有助于你

答案 2 :(得分:0)

正确方法:

<?php
$change = array('key1' => $var1, 'key2' => $var2, 'key3' => $var3);
echo json_encode(change);
?>

然后是jquery脚本:

<script>
$.get("location.php", function(data){
var duce = jQuery.parseJSON(data);
var art1 = duce.key1;
var art2 = duce.key2;
var art3 = duce.key3;
});
</script>