我正在使用Wordpress心跳,并尝试使用Ajax将一些数据传递到我的网站。我能够在$ _POST中看到该动作,但我的数据不可用。以下.post能够向MyZabbix发送请求,该帖子包含我的操作,然后我的操作正常。但是,我需要访问索引['托管']。为什么下面的.post在发送动作时不会发送我的数据?
$( document ).on( 'heartbeat-tick', function( e, data ) {
$.each( data, function( index, value ) {
$.each( value, function( indexs, values ) {
var hostids = indexs['hostid'];
$.post( MyZabbix.ajaxurl, {
action:'zabbix_ajax_submit',
data: indexs['hostid'] },
function( api_response ) {
console.log( "Data Saved: " + api_response );
});
}(jQuery));
答案 0 :(得分:0)
我决定在我的ajax请求中使用when函数。我遇到的问题是 - 我的ajax请求并没有在我的其余代码执行之前完成。通过将我的代码移动到仅在我的ajax请求成功之后执行的函数,我才能够使所有事情按预期运行。
var promise = $.ajax({
type: "POST",
url: MyZabbix.ajaxurl,
async: true,
data: { action:'zabbix_ajax_submit', data:value}
});
$.when(promise).done( successFunction );
when函数位于documentation。
完成功能位于documentation。