【发布时间】:2014-12-23 02:12:21
【问题描述】:
我对这部分代码有一些问题:
<script>
function komenty(photoid) {
var xmlhttp=new window.XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var x = xmlhttp.responseText;
$.post('main.php', {x: "foo"});
}
}
xmlhttp.open("GET", "comments.php?id=" + photoid, true);
xmlhttp.send();
}
</script>
我正在尝试将此变量发送到我在同一页面上的 php 脚本,即 main.php responseText 不为空,里面的字符串很少。 但在我的 php 脚本中,它说“变量 x 未定义”
<?php
echo "<a href='#' class='my-button' onclick='komenty(".$photoid.")'>komentarze</a>";
$x = $_POST['x'];
echo $x;
?>
我不确定我是否清楚了解 jquery 手册
【问题讨论】:
-
如果更改为
{x: "foo"}会怎样? -
@Barmar 同样:“注意:未定义的索引:/main.php 中第 627 行的 x”
-
未定义的索引通常与 POST 变量相关联,并且没有 name 属性和/或表单元素的 id。
-
@Fred-ii- 他没有使用表单,他使用的是 AJAX。
-
有什么方法可以让您执行
main.php而不通过$.ajax调用?您是否曾经使用浏览器直接访问过脚本?