Jquery / Ajax发布更新数据库

时间:2012-10-29 20:22:56

标签: php jquery ajax database post

新手在这里...我有一个小的民意调查,并希望在提交民意调查时避免刷新页面,所以我查找了一些使用Ajax / jQuery来处理这个问题的例子。我正在尝试“调试”我的Post.php文件,该文件通过Ajax调用,如下所示:

$.ajax(
{
  type: "POST",
  url: "Post.php",
  data: datastring,
  success: function()
  {
    alert ("Success");
  }
});

用于调试目的的Post.php如下所示:

<?php
echo "Hello World";
?>

我看到“成功”消息表示Post.php文件被成功调用,但是我没有看到显示“Hello World”消息。是否无法将文本回显到通过Ajax调用的Post.php文件中的屏幕?

2 个答案:

答案 0 :(得分:5)

响应主体作为第一个参数传递给成功函数。

来自http://api.jquery.com/jQuery.ajax/

success(data,textStatus,jqXHR):请求成功时要调用的函数。该函数传递三个参数:从服务器返回的数据,根据dataType参数格式化;描述状态的字符串;和jqXHR(在jQuery 1.4.x,XMLHttpRequest)对象。从jQuery 1.5开始,成功设置可以接受一系列函数。每个函数将依次调用。这是一个Ajax事件。

您的代码应如下所示

$.ajax({
  type: "POST",
  url: "Post.php",
  data: datastring,
  success: function(data){
    alert (data);
  }
});

答案 1 :(得分:0)

jQuery会将结果作为参数传递给您的成功函数function(data, textStatus, jqXHR),其中data是返回的已解析数据,textStatus只是文本状态,jqXHR是原始请求。

您可能希望对data对象执行某些操作。另外,请确保将dataType设置为适当的值(我使用下面的HTML)。试试这个:

$.ajax(
{
  type: "POST",
  url: "Post.php",
  data: datastring,
  dataType: "html',
  success: function(data, textStatus, jqXHR)
  {
    alert (data);
  }
});

这应该警告PHP返回的内容。