wordpress插件中的ajax错误
Posted
技术标签:
【中文标题】wordpress插件中的ajax错误【英文标题】:ajax error in wordpress plugin 【发布时间】:2015-06-30 11:28:36 【问题描述】:我正在为 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";
?>
请帮忙解决这个问题
【问题讨论】:
你确定本地主机吗?您在 PC 上用于服务器端的是什么?例如我使用 mamp,我的网站在 localhost:8888 或 localhost:3000 【参考方案1】:在您的 PHP 中,$_POST
需要一个键/值对,而您只在 ajax 中发送一个值。其中 'anun' 将是键,而存储在 x
中的任何内容都是值。
由于您没有将密钥“anun”发送到$_POST
,因此它无法返回存储在x
中的值,因为您的if
条件失败。
你应该能够通过稍微改变你的 ajax 调用来纠正这个问题:
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);
);
为确保您获得正确的 x
值,请尝试在 ajax 调用之前使用 console.log(x);
并检查浏览器控制台以查看它返回的内容。
如果它没有返回正确的值或什么都不返回,请尝试更改:
var x = document.getElementById('last').value;
简单来说:
x = jQuery('#last').val();
【讨论】:
以上是关于wordpress插件中的ajax错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 ajax(Wordpress 插件)将 FormData 中的 Blob 发布到 php 时出现 400(错误请求)
Wordpress:在没有插件的情况下集成 Mailchimp 错误请求 400 Ajax URL