我正在尝试使用以下代码:
//在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函数。
我做错了什么?
答案 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数组来容纳它。