【问题标题】:PHP jQuery and Ajax sending / receiving variables & dataPHP jQuery 和 Ajax 发送/接收变量和数据
【发布时间】:2013-09-14 02:09:56
【问题描述】:

因此,在我的 jQuery 中,我正在进行 AJAX 调用以设置 cookie 并使用相同的数据来回显结果:

jQuery

jQuery.ajax({
        url: 'script.php',
        data: {status: 'enabled'}
        });

PHP

if(!empty($_GET['status'])) {
   $value = $_GET['status'];
   echo $value;
   setcookie("status", $value, time()+3600, "/");
}

令人困惑的部分是正在设置 cookie,但是没有回显该值,我也尝试打印它但也不起作用。

最终我希望做的是使用通过 ajax 调用传递的数据并将其分配给 php 变量以用于某些条件。

我错过了什么吗?我正在学习如何编程。

更新

Request URL:http://localhost/wp-content/plugins/lu-ban/inc/lu_ban.php?status=enabled
Request Method:GET
Status Code:200 OK

【问题讨论】:

  • 您希望该值在哪里回显
  • 我猜是页面,我只是想看看它是否成功传递给 php,我认为这是因为输出不为空而设置了 cookie
  • 那么你需要修改你的ajax调用来处理响应。尝试在 jquery api 文档中搜索 done() 函数。
  • 如果你只是想知道请求是否成功,你可以打开浏览器的开发工具,在网络选项卡上查找请求。
  • 感谢 jason 的提示,我可以看到请求,但无法解释。生病在问题中添加屏幕截图

标签: php jquery


【解决方案1】:

你需要在脚本中看到它然后你需要一个成功回调在这里

jQuery.ajax({
   url: 'script.php',
   data: {status: 'enabled'},
   success: function(returnedData){
                  alert(returnedData)
            }  
});

【讨论】:

  • success: 在此构造中已弃用。但是,首选方法是通过使用 jQ1.4 中引入的 jqXHR 对象。使用 jqXHR 对象时,yes 已弃用 .success() 以支持 .done() 和不建议使用 .error() 以支持 .fail()
  • @JeffreyA。 -- 见这篇文章:stackoverflow.com/questions/15821141/… -- 正如 DevlshOne 所说,这种用法没有被弃用。
  • .done 回调,您可以在其中检索返回的数据并利用这些数据。有关更多信息,请参阅 jquery 文档
【解决方案2】:

然后,您必须在浏览器中使用 Web 开发人员的工具来跟踪 HTTP 请求并检查标头(用于发送到脚本的数据)和响应(用于返回的数据)。

来自jQuery $.ajax documentation

$.ajax() 返回的 jQuery XMLHttpRequest (jqXHR) 对象 jQuery 1.5 是浏览器原生 XMLHttpRequest 的超集 目的。例如,它包含 responseText 和 responseXML 属性,以及 getResponseHeader() 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多