0

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

$.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 文件中将文本回显到屏幕?

4

2 回答 2

5

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

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

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

您的代码应如下所示

$.ajax({
  type: "POST",
  url: "Post.php",
  data: datastring,
  success: function(data){
    alert (data);
  }
});
于 2012-10-29T20:25:04.460 回答
0

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

您可能想要对data对象做一些事情。另外,请确保将 设置dataType为适当的值(我在下面使用 HTML)。尝试这个:

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

这应该提醒 PHP 返回的内容。

于 2012-10-29T20:32:32.200 回答