【问题标题】:Ajax call with php使用 php 进行 Ajax 调用
【发布时间】:2018-09-20 18:40:44
【问题描述】:

我在 javascript 中使用 $.ajax。我需要从 php 文件中获取响应。 javascript中的代码是-

var datavalues = {
                 a: 12,
                 b: 54
                 };


$.ajax({
       type: "POST",
       url: 'http://localhost/example/test.php',
       data: datavalues,
       success: function(response)
       {
       console.log(response);
       $('#label').html(response);
       var responsevalue = response;
       }
       });

php 文件中的代码是 -

$bt = rand(0, 99);
$bt = intval($bt);
echo $bt;

问题在于它在标签中显示了值,但在 responsevalue 变量中的值并不正常。我需要 responsevalue 变量中的整数值。

console.log(response)的输出;声明是 -

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Page</title>
</head>
<body>
</body>
</html>68<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Page</title>
</head>
<body>
</body>
</html>

这里68应该是responsevalue变量的值。

希望你不会对上面的代码感到困惑。

【问题讨论】:

  • 我没有看到 ID 为 label 的元素,而您有 2 个 &lt;html&gt; 标签。这没有任何意义。
  • 如果您使用 ajax 之类的东西,最好向我们展示实际代码而不是基本的不相关模板,因为这样会丢失代码的相关部分。请创建一个minimal reproducible example
  • 看来你很困惑。再看问题。我已经编辑过了。
  • 你能把发出AJAX请求的代码放到你的后端吗
  • 我又编辑了。

标签: javascript php ajax


【解决方案1】:

使用 jquery 参数

var datavalues = {
                 a: 12,
                 b: 54
                 };


$.ajax({
       type: "POST",
       url: 'http://localhost/example/test.php',
       data: $.param(datavalues),
       success: function(response)
       {
       console.log(response);
       $('#label').html(response);
       var responsevalue = response;
       }
       });

在 PHP 文件中回显 $_POST['a'];

【讨论】:

  • post数据没有问题。问题在于响应。
  • @pareza,id 标签在哪里,我没有看到任何地方,而是尝试 text()
【解决方案2】:

答案由 cmets 中的@ceejayoz 给出。供参考,我在这里发布他的答案

"@pareza 如果这是响应,那么您的 http://localhost/example/test.php 不仅仅是 echo $bt;。您需要阻止它输出您想要的值周围的所有 HTML。"

【讨论】:

    猜你喜欢
    • 2012-07-30
    • 2017-02-09
    • 2015-07-22
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2015-09-09
    相关资源
    最近更新 更多