如何将数据从php返回到jquery AJAX

时间:2016-01-27 10:39:01

标签: php jquery ajax wordpress

我是ajax的新手,但我真的想学习。我已经建立了一个通过ajax提交的表格(强大的专业版)。在提交按钮中我有onclick功能:

<div class="frm_submit"> <input id="btn-max-hyp" onclick="add_customer()" type="submit" value="[button_label]" [button_action] /> <img class="frm_ajax_loading" src="[frmurl]/images/ajax_loader.gif" alt="Sending"/> </div>

我的自定义js文件:

&#13;
&#13;
jQuery(document).ready(function($){
$('#form_maxhyp').on("submit", add_customer);

function add_customer () {
var form_maxhyp = $(this).serialize();

$.ajax({
type:"POST",
url: frontendajax.ajaxurl,
data: form_maxhyp,

success: function(data)
{
	$("#test").html(data);
}
});

return false;

}
});
&#13;
&#13;
&#13;

最后我的function.php中的代码

&#13;
&#13;
<?php
add_action( 'wp_enqueue_scripts', 'add_frontend_ajax_javascript_file' );
function add_frontend_ajax_javascript_file()
{
	wp_enqueue_script( 'ajax_custom_script',  get_stylesheet_directory_uri() . '/ajax-javascript.js', array('jquery') );
	wp_localize_script( 'ajax_custom_script', 'frontendajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
}

add_action('wp_ajax_add_customer', 'add_customer');
add_action('wp_ajax_nopriv_add_customer', 'add_customer');
function add_customer($entry_id, $form_id)
{
	if ( $form_id == 6 ) 
	{
		global $wpdb, $frmdb;
		$form1 = '6';
        $value = $_POST['item_meta'][222];

/* a lot of if and else statements */

/* Echo values */
		echo "'".$value. "'";
	}
	
	die();
}
&#13;
&#13;
&#13;

我想将值设置为div。 在控制台日志中,我收到一个错误:ReferenceError:未定义add_customer。

可能它是一件非常简单的东西,我只是没有看到。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

在您的自定义js文件中,您有:

jQuery(document).ready(function($){ $('#form_maxhyp').on("submit", add_customer);

在这种情况下,add_customer被读作变量。

将其更改为: jQuery(document).ready(function($){ $('#form_maxhyp').on("submit", add_customer());

调用你的函数!