wordpress插件中的ajax错误

时间:2015-04-22 16:35:39

标签: jquery ajax wordpress plugins

我正在为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";
    }
?>

请帮助解决此问题

1 个答案:

答案 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}}