0

我正在摆弄 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 不获取我的数据并回显它?

4

3 回答 3

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

});
于 2013-05-08T23:25:20.687 回答
0

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

该线程所述

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

  /* 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 元素

希望这可以帮助你

于 2013-05-08T23:23:36.483 回答
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>
于 2014-10-23T20:33:03.910 回答