0

好的,所以我有一个用 JS 创建的链接:

var content = document.getElementById("Profile");
  var entry = document.createElement('li');
    entry.innerHTML= ' <a href="eventList2.html" onclick ="post()"> Click Me </a>';
    content.appendChild(entry); 

function post(){
$.post( "random.php", { variable: "hello"} );
}

在我的 PHP 中:

随机文件

<?php
Header("content-type: application/x-javascript");
error_reporting(E_ERROR | E_WARNING | E_PARSE);

$variable   = $_POST['variable'];   
echo"alert($variable);";

?>

回显“未定义”而不是“你好”。谁能告诉我我做错了什么?我对 AJAX 和 Jquery 不太熟悉,我只是按照我在教程和示例中看到的内容进行操作。谢谢

4

2 回答 2

1

为什么 PHP 会返回警报?这是一个不好的方法。让 PHP 返回 json 编码的结果并让 jquery 处理警报。这是实现此目的的一种可能方法:

$.post( "random.php", { variable: "hello"}, function(data) {
    alert(data);    
});

PHP:

<?php
Header("content-type: application/x-javascript");
error_reporting(E_ERROR | E_WARNING | E_PARSE);

$variable   = $_POST['variable'];   
echo json_encode($variable);

?>
于 2013-10-25T21:34:25.287 回答
0

Change:

echo"alert($variable);";

to:

$js = json_encode($variable);
echo "alert($js);";

This will put the contents of $variable into the proper format for a Javscript literal.

于 2013-10-25T21:22:10.167 回答