Javascript没有在wordpress中调用PHP函数

时间:2014-04-17 20:50:18

标签: javascript php jquery wordpress

我正在尝试使用以下代码:

//在Javascript中

function updateContentEditable(){

var span = $(this);
var data = new Object();

data.pid = '1';

data.content = 'this is a test';

data.action = 'update_content'; //This should run update_content php function

$.post(ajaxPath, data, onContentSaved); //ajaxPath returns: /wp-admin/admin-ajax.php
}

//在PHP中

function update_content(){

echo "<script>alert (\"php was reached\")</script>";

}

注意:

// onContentSaved是这样的:

function onContentSaved(data){    的console.log(数据); }

我的问题是没有运行php函数。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

假设您正在使用jquery,请尝试以下方法:

function SendRequestCallBack(webMethod, parameters, callBack) {
    $.ajax({
        type: "POST",
        url: webMethod,
        data: parameters,
        contentType: "application/json; charset=utf-8",
        success: function(results) {
            $(".ajaxImage").hide();
             eval(callBack(results.d));
        }
    });
}

function formatData(obj){
    alert(obj);
}
$(document).ready(function()
{
    SendRequestCallBack("http://url-to-php","{'any':'parameters'}",formatData);
});

然后,所有PHP需要做的就是回显有效的JSON。或者,如果您愿意,可以将contentType:参数更改为text / xml或text / plain等,具体取决于您希望它返回的内容。请记住,您的PHP也需要输出匹配的内容类型。例如     <?php header("Content-type: text/json"); echo {"d":[{"firstname":"John","lastname":"Doe"},{"firstname":"Jane","lastname":"Doe"}]} ?>

如果要将数据传递给PHP函数,请在参数中设置它,并确保PHP使用$ _POST数组来容纳它。