【问题标题】:Jquery/Ajax Post To Update DatabaseJquery/Ajax 发布更新数据库
【发布时间】:2012-10-19 04:56:13
【问题描述】:

这里是新手...我有一个小投票,希望在提交投票时避免刷新页面,所以我查找了一些使用 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 文件中将文本回显到屏幕上?

【问题讨论】:

  • 如果您想从服务器回显文本以便调试,但不想将其显示给用户,您可以转到(在 FireFox/Safari/Chrome 上)检查元素 -> 网络选项卡 -> 响应。这将准确地向您显示服务器发回的内容,即使您的 javascript 不使用它。

标签: php jquery ajax database post


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    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 返回的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-22
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      相关资源
      最近更新 更多