我正在尝试了解如何使用jQuery$.ajax()
对于项目。我使用从中学到的知识设置此测试TutsPlus.com. 除了我得到一个-1
已返回。所以我得到了警报Success: -1
和#test-div1
填充了-1
, 而不是Hello Everyone!
.
My HTML:
<input type="hidden" name="GreetingAll" id="GreetingAll" value="Hello Everyone!" />
<input class="btn" type="submit" id="PleasePushMe" />
<div id="test-div1"></div>
In functions.php:
function add_myjavascript(){
wp_enqueue_script( \'ajax-implementation.js\', get_stylesheet_directory_uri() . "/scripts/ajax-implementation.js", array( \'jquery\' ) );
}
add_action( \'init\', \'add_myjavascript\' );
function MyAjaxFunction(){
//get the data from ajax() call
$GreetingAll = $_POST[\'GreetingAll\'];
$results = "<h2>".$GreetingAll."</h2>";
// Return the String
die($results);
}
// creating Ajax call for WordPress
add_action( \'wp_ajax_nopriv_MyAjaxFunction\', \'MyAjaxFunction\' );
add_action( \'wp_ajax_MyAjaxFunction\', \'MyAjaxFunction\' );
ajax-implementation.js:
jQuery(document).ready(function() {
var GreetingAll = jQuery("#GreetingAll").val();
jQuery("#PleasePushMe").click(function(){
jQuery.ajax({
type: \'POST\',
url: \'/wp-admin/admin-ajax.php\',
data: {
action: \'MyAjaxFunction\',
GreetingAll: GreetingAll,
},
success: function(data, textStatus, XMLHttpRequest){
alert(\'Success: \' + data);
jQuery("#test-div1").html(\'\');
jQuery("#test-div1").append(data);
},
error: function(MLHttpRequest, textStatus, errorThrown){
alert(errorThrown);
}
});
});
});
我唯一的修改就是改变
get_bloginfo(\'template_directory\')
到
get_stylesheet_directory_uri()
, 因为我使用的是儿童主题。
你有没有想过我该怎么做?谢谢