【问题标题】:Get php return value using ajax使用ajax获取php返回值
【发布时间】:2016-08-07 13:31:08
【问题描述】:

我有一个表单,它从用户那里获取价值并将其存储到数据库中。 在提交表单时,它使用 ajax 调用调用 action.php 文件。

e.preventDefault();

$.ajax({

    type: "POST",
    url: "action.php",
    data: senData,
    dataType: "JSON",

    success: function(data) {

        $("#name").val("");
        $('.msg').fadeIn(500);
        $('.msg').text("" + data.result + "");

    }

});

值存储在数据库中没有任何错误,但我想在 msg div 中提交表单后向用户显示通知。

在我的action.php 文件中,我添加了一个JSON Encode 语句来返回一条消息。

$msg = 'Thanks Yo Yo';
echo json_encode(array("result" => $msg));

但它不起作用,即当我提交表单时,它会将数据存储到数据库中,并且网页会自行刷新,而不会在 .msg div 中显示任何消息。

我做错了什么吗?有更好的方法吗?

【问题讨论】:

  • 您的页面不应该刷新。对吗?
  • 你能发布你的完整函数,它正在进行 ajax 调用吗?
  • 请同时提交您的 HTML 代码
  • HTML 代码或 AJAX 功能没有问题,因为数据完美地存储在数据库中。我只是不想刷新页面并在 msg div 中显示来自 PHP 的返回消息。
  • 你试过在 ajax 调用中添加 alert(data) 吗?

标签: javascript php html ajax forms


【解决方案1】:

当 JSON 返回到您的 javascript 时,您需要对其进行解析。

// Parse the response to JSON
var res = JSON.Parse(data);
$('.msg').text(res.result);

您的代码应如下所示。

e.preventDefault();

$.ajax({
 type: "POST",
 url: "action.php",
 data: senData,
 dataType: "JSON",

 success: function(data) {
    var res = JSON.Parse(data);
    $("#name").val("");
    $('.msg').fadeIn(500).text(res.result);

 }

});

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多