php - 如何使用 AJAX 和 JSON 从一个页面抓取 PHP 变量到另一个页面?

标签 php javascript ajax jquery

我不确定我是否在这里做错了什么。我已经研究这个问题有一段时间了。我基本上已经浏览了谷歌和此页面上的所有内容,但仍然不明白我的第一页应该是什么样子才能使其正常工作。

<script>
//firstpage.php

function fetch(){
   $.ajax({
      url: 'secondpage.php',
      type: 'POST',
      data: {
         id:'ok'
      },
      success: function(data){
         //var data = jQuery.parseJSON(data);
         if (data.phpvar == 'ok'){
            alert('Success!');// for testing
         }else{
            alert('Failure!');// for testing
         }
      }
   });
}
</script>

ajax请求第二页:

<?php
//secondpage.php

if($_POST['id'] == 'ok'){
    $return_data['phpvar'] = 'ok';
    return json_encode($return_data);
}
?>

我做错了什么???我是 ajax 新手,所以请解释最好的方法。我的目标很简单,就是从第二页获取值为“ok”的 PHP 变量,并将其传递回第一页作为确认类型,以找出输入了哪个 PHP if() 条件->(取决于在sql数据库响应上)。

最佳答案

您需要摆脱var obj = jQuery.parseJSON(data);并直接使用data。 jQuery 通常会检测 JSON 并自动解析它。添加 dataType: 'json' 到您的 ajax 参数中以确保确定。

此外,您应该将 PHP 脚本更改为始终返回某些 JSON - 如果它只是一个空对象。

关于php - 如何使用 AJAX 和 JSON 从一个页面抓取 PHP 变量到另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072159/

相关文章:

php - Mysql 就像非对象上的bind_param()

php - 计算有限制的所有行

javascript - 从数组中检索 jQuery 元素

javascript - 如何通过 AJAX 调用获取 google plus 按钮计数

php - 减少仅在 ORDER BY 字段名称上不同的 mysql 语句

php - Laravel 5.4 中的 Sass

javascript - Angular.JS $http API 请求

javascript - 更改事件未从页面触发

javascript - 将表单搜索提交数据传递到重定向结果页面

jquery - 使用 jquery ajax 将数组传递给 WebMethod 在 asp.net 中不起作用