这有两个部分,javascript ajax调用需要包含特定的变量:
$.ajax({
type: "GET",
url: SSL_Ajax.ajaxurl,
cache: false,
dataType: "jsonp",
crossDomain: true,
data: {
action : \'ajaxSSL\',
ajaxSSLNonce : SSL_Ajax.ajaxSSLNonce,
input : $(\'input[name=title]\').val()
},
success: function( data ) {
console.log( \'success\' );
console.log( data );
},
complete: function( data ) {
console.log( \'complete\' );
console.log( data );
},
error: function( data ) {
console.log( \'error\' );
console.log( data );
}
});
jsonp的重要变量如下
cache
,
dataType
, 和
crossDomain
.
Note: 当您的数据类型为jsonp时,它会创建一个额外的变量“回调”。而且,就其本质而言,jsonp是
type
收到
另一个需要注意的重要事项是wp_ajax_nopriv_{action}
和wp_ajax_{action}
需要包含回调和访问控制标头的操作:
header("content-type: text/javascript; charset=utf-8");
header("access-control-allow-origin: *");
echo htmlspecialchars($_GET[\'callback\']) . \'(\' . $response . \')\';
// IMPORTANT: don\'t forget to "exit"
exit;
我写了一篇关于
using jsonp in WordPress 如果你想了解更多细节。