【问题标题】:Passing jQuery variable to PHP for error-handling将 jQuery 变量传递给 PHP 以进行错误处理
【发布时间】:2014-03-20 10:14:47
【问题描述】:

所以我环顾四周,似乎找不到答案!

我正在尝试向 PHP 发送一个 jQuery 变量。

代码会更容易解释:

jQuery:

$error = 0;
$pageName = $(document).find("title").text();
$referrer = document.referrer;

if ($pageName == "Index") {
    $('#index').hide();
    console.log($pageName);

} else if ($pageName == "Testing") {
    $('#testing').hide();
    console.log($pageName);

} else if ($pageName == 'Test') {
    $('#test').hide();
    console.log($pageName);

} else {
    $error = 1;
    $.ajax({
        type: "POST",
        url: "../Ajax/post.php",
        data: { param: $error, ref: $referrer }
    }).done(function (msg) {
        alert("Data Saved: " + $pageName + " " + $referrer ); 
    });
}

PHP:

<?php
$error = $_POST['param']; //I have also tried putting '$error' here.
$referrer = $_POST['ref'];

if ($error == 1)
{
    error_log("There has been an error with the pageName = " . $error . $referrer,
    1,"Email@host.com","From: Email@host.com");
}
?>

TL;DR: 我正在检查我的页面中的 ,然后执行一些 jQuery 函数,如果未知,则通过电子邮件发送错误。

所以我在电子邮件中得到的结果是“1”,就是这样。只是数字 1(我认为是 $error 值?

我只是在玩一些错误处理。

【问题讨论】:

  • 在 PHP 中,用“.”连接(点),而不是“+”
  • 太好了!我刚开始学习PHP。现在电子邮件是“pageName = 1 出现错误”
  • OK 找到了,所以 "$referrer = document.referrer;" == "" 它没有出现。有人知道他们来自哪个页面吗?

标签: javascript php jquery html error-handling


【解决方案1】:

检查 PHP 中的 if...等号运算符是 ==,而不是 =

 if ($error==1)

【讨论】:

  • 对不起,我正在编辑它以删除一些内容并意外更改它,但它仍然不起作用。
  • 在第一个 if 之前执行 alert($pageName)。是期望值吗?另外,请注意,您仅在 $pageName 为 unknown 时发送 ajax 请求。
  • 所以错误页面上的 $pageName = ="Error" 所以我希望 $pageName 总是有一个 <title>。所以是的,这是预期值。
  • 那么是合乎逻辑的:$error 在 PHP 中是 1,因为您是从 JS ($error = 1) 到 $_POST['param'] 发送它。我真的不知道是什么问题......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-24
相关资源
最近更新 更多