【发布时间】:2020-12-15 09:42:39
【问题描述】:
我正在尝试通过 onclick 事件传递一个简单的字符串变量,请求成功但我在控制台上得到一个空响应,并且 xvar 变量没有通过所以我得到“NO DATA” p 标签。这是我第一次使用 Ajax,所以我尝试让它变得非常简单。这是我的代码:
JS
var xvar = 'D';
$('.test').click( () => {
$.ajax({
data: { xvar : xvar },
type: "POST",
url: 'test.php',
success: function(data, textStatus, XMLHttpRequest)
{
console.log('Success: '+data)
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.log("The request failed."+errorThrown);
}
});
});
test.PHP
$xvar = (isset($_POST['xvar'])) ? $_POST['xvar'] : '<p>NO DATA</p>';
echo $xvar;
我正在使用 Wordpress 中包含的 JQuery 3.5.1。如有任何反馈,我将不胜感激。
编辑
如所见,我设法在test.php 上得到了回复
here:
但是当我尝试用print_r 渲染值时没有显示。
$res = $_POST;
print_r($res);
【问题讨论】:
-
我无法重现此问题。你能验证包含的 jQuery 的确切版本吗?您应该能够在页面源中看到它。旁注:当它与变量同名时,没有必要定义一个键。只需指定
data: { xvar }就足够了。 -
你真的可以只定义
data: { xvar },但不推荐这样做,因为在某些浏览器中这会导致“':' 预期错误”,例如 IE。 -
这是 JQuery 1.12.4
-
使用浏览器开发工具的网络选项卡查看 Ajax 请求及其原始响应。你看到了什么?
-
我收到了来自 admin-ajax.php 的回复
{"wp-auth-check":true,"server_time":1608029785}。 test.php 中的“此请求没有可用数据”。
标签: javascript php jquery ajax wordpress