我有一個通過 AJAX 觸發的函式,成功時將運行以下內容:
wp_send_json_success();
然后我正在做回應的控制臺日志并嘗試檢測是否成功 = true:
.done(function (response) {
if( response['success'] == true ) {
console.log('add to cart successful');
} else {
console.log('add to cart failed');
}
盡管回應的輸出看起來應該是成功的,但目前我收到“添加到購物車失敗”的訊息:
console.log(response);
// 瀏覽器控制臺中的回應:
{"success":true}
我是否true錯誤地檢測到回應?
更新- AJAX 正在觸發的 PHP 函式。洗掉了大部分代碼作為測驗。
function fbpixel_add_to_cart_event_conversion_api() {
echo 'hello world';
wp_send_json_success();
die();
}
add_action('wp_ajax_fbpixel_add_to_cart_event_conversion_api', __NAMESPACE__.'\\fbpixel_add_to_cart_event_conversion_api');
add_action('wp_ajax_nopriv_fbpixel_add_to_cart_event_conversion_api', __NAMESPACE__.'\\fbpixel_add_to_cart_event_conversion_api');
$.ajax({
url: MyAjax.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'fbpixel_add_to_cart_event_conversion_api',
product_id: productId,
variation_id: variationId,
},
})
.done(function (response) {
console.log(response);
console.log(productId);
console.log(variationId);
console.log(response.success);
if( response.success === true ) {
uj5u.com熱心網友回復:
我總是dot notations用來檢查從 回傳的回應wp_send_json_success,它總是有效。所以像這樣使用它:
if( response.success === true ) {
console.log('add to cart successful');
} else {
console.log('add to cart failed');
}
試一試,讓我知道你是否能夠讓它作業!
uj5u.com熱心網友回復:
對不起,我應該粘貼整個代碼。我dataType在 $.ajax 中設定錯誤:
前
$.ajax({
url: MyAjax.ajaxurl,
type: 'POST',
dataType: 'html',
})
后
$.ajax({
url: MyAjax.ajaxurl,
type: 'POST',
dataType: 'json',
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/342450.html
標籤:阿贾克斯 WordPress的
上一篇:燒瓶不向ajax呼叫提供結果
下一篇:php構建api上的CORS問題
