我正在为wordpress编写插件。该插件有一个小部件,其中包含一个按钮和文本框。 按钮有onclick事件。 当该事件发生时,我需要使用ajax将文本框数据发布到php文件 ajax代码不会返回错误,但php无法获取数据。
这是我的JS文件
function F()
{
var x=document.getElementById('last').value;
jQuery.ajax({
type: "POST",
url: 'http://localhost/wordpress/wp-content/plugins/Hovo/Scripts/vote.php',
data: x,
success: function() {
alert('Sends successfully');
},
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
这是我的php文件
<?php
if(isset($_POST["anun"]))
{
echo $_POST['anun'];
}
else
{
echo "error";
}
?>
请帮助解决此问题
答案 0 :(得分:0)
在你的PHP中x
期待一个键/值对,而你只在ajax中发送一个值。哪里&#39; anun &#39;将是关键,$_POST
中存储的是值。
由于您没有发送密钥&#39; anun &#39;至x
它无法返回if
中存储的值,因为您的function F() {
var x = document.getElementById('last').value;
jQuery.ajax({
type: "POST",
url: 'http://localhost/wordpress/wp-content/plugins/Hovo/Scripts/vote.php',
data: { anun: x },
success: function() {
alert('Sends successfully');
},
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
条件失败。
您应该可以通过稍微更改您的ajax调用来解决此问题:
x
为确保您获得console.log(x);
的正确值,请在ajax调用之前尝试使用var x = document.getElementById('last').value;
并检查浏览器控制台以查看它返回的内容。
如果它没有返回正确的值或只是不返回任何内容,请尝试更改:
x = jQuery('#last').val();
简单地说:
{{1}}