【发布时间】:2013-12-05 02:36:49
【问题描述】:
提交表单时,如何将任何带有 ajax 的 $_Post[''] 传递给 php 函数?
该函数正在使用 AJAX,但它无法接收帖子的值。 我测试了,警报返回 null。
我正在使用 wordpress。
window.onload=function(){
jQuery('#newIdeaForm').submit(function(events){
call_ajax(events);
events.preventDefault();
});
};
function call_ajax(){
var name = $("#name").val();
jQuery.ajax({
type: 'POST',
url: myAjax.ajaxurl,
data: {action : 'savedata'},
success: function(response) {
var json = jQuery.parseJSON(response);
alert(json.nome);
}
});
};
function savedata(){
$name = $_POST['name'];
$my_post = array(
'post_title' => 'teste',
'post_content' => 'teste',
'post_status' => 'publish',
'post_author' => $user_id,
);
wp_insert_post($my_post);
$callback = array('name' =>'teste','title'=>'teste','idea'=>'teste','nome' => $name);
$myJson = json_encode($callback);
echo ($myJson);
die();
}
已编辑
伙计,我试过这样:
function call_ajax(){
var serializedForm = jQuery('#newIdeaForm').serialize();
serializedForm.action = 'savedata';
jQuery.ajax({
type: 'POST',
url: myAjax.ajaxurl,
data: serializedForm,
success: function(data) {
alert(data);
}
});
但是当我通过浏览器调试时,它似乎没有添加任何类似动作的东西,所以它没有进入php函数,任何人都可以帮助我吗?
【问题讨论】:
-
试试
alert(response.nome); -
你在php中调用
savedata()吗?还有,设置dataType:'json'...就不用parseJSON了 -
如果我使用 dataType :'json' 响应是否已经被解析?
标签: php jquery ajax wordpress forms