第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將布爾值從 Ajax 傳遞到 PHP

將布爾值從 Ajax 傳遞到 PHP

PHP
拉風的咖菲貓 2022-06-17 16:37:03
我已經(jīng)閱讀了大量關(guān)于該主題的問題,但沒有一個能夠解決我的特定問題——我想我在 JS 中格式化對象數(shù)組的方式有問題。這是我的 Ajax 函數(shù):var marketing_prefs = [];$('#save-marketing-prefs input').each(function() {  var tmp_array = {};  tmp_array['marketing_permission_id'] = $(this).val();  if ($(this).prop('checked')) {    tmp_array['enabled'] = 1;  } else {    tmp_array['enabled'] = 0;  }  marketing_prefs.push(tmp_array);})console.log(marketing_prefs);$.ajax({  dataType: 'json',  type: 'POST',  url: ajax_object.ajaxurl,  data: {    action: 'acrew_save_mc_marketing_prefs',    marketing_prefs: marketing_prefs  },  success: function(response) {    console.log('#####', response);  },  error: function(response) {    console.error('!!!!!', response);  }});我正在做的是循環(huán)一個帶有三個復選框的簡單表單并創(chuàng)建一個對象數(shù)組,然后這些對象將轉(zhuǎn)到 Mailchimp。我的數(shù)據(jù)完好無損,但問題是我的布爾值作為字符串傳入 PHP。我已經(jīng)從使用“true”和“false”的 true 和 false 切換到使用 1 和 0 但它們也作為字符串出現(xiàn)。我想我可以遍歷數(shù)據(jù)并在 PHP 中構(gòu)建一個新數(shù)組,但是數(shù)據(jù)在到達時非常接近正確,以至于它似乎是不必要的。如何將我的數(shù)據(jù)作為非字符串獲???
查看完整描述

2 回答

?
慕桂英3389331

TA貢獻2036條經(jīng)驗 獲得超8個贊

POST數(shù)據(jù)作為簡單name=value的對發(fā)送,沒有指定數(shù)據(jù)類型的語法,所有內(nèi)容都被解析為字符串。


您可以調(diào)用intval($_POST['marketing_prefs'][$i]['enabled'])將其轉(zhuǎn)換為整數(shù)。


另一種選擇是將marketing_prefs數(shù)組轉(zhuǎn)換為 JSON。


$.ajax({

  dataType: 'json',

  type: 'POST',

  url: ajax_object.ajaxurl,

  data: {

    action: 'acrew_save_mc_marketing_prefs',

    marketing_prefs: JSON.stringify(marketing_prefs)

  },

  success: function(response) {

    console.log('#####', response);

  },

  error: function(response) {

    console.error('!!!!!', response);

  }

});

然后在PHP中你可以這樣做:


$marketing_prefs = json_decode($_POST['marketing_prefs'], true);POST數(shù)據(jù)作為簡單name=value的對發(fā)送,沒有指定數(shù)據(jù)類型的語法,所有內(nèi)容都被解析為字符串。


您可以調(diào)用intval($_POST['marketing_prefs'][$i]['enabled'])將其轉(zhuǎn)換為整數(shù)。


另一種選擇是將marketing_prefs數(shù)組轉(zhuǎn)換為 JSON。


$.ajax({

  dataType: 'json',

  type: 'POST',

  url: ajax_object.ajaxurl,

  data: {

    action: 'acrew_save_mc_marketing_prefs',

    marketing_prefs: JSON.stringify(marketing_prefs)

  },

  success: function(response) {

    console.log('#####', response);

  },

  error: function(response) {

    console.error('!!!!!', response);

  }

});

然后在PHP中你可以這樣做:


$marketing_prefs = json_decode($_POST['marketing_prefs'], true);


查看完整回答
反對 回復 2022-06-17
?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

正如 Barmar 所說,因為 GET/POST 不能指定數(shù)據(jù)類型(這本身就是一種咆哮),所以一種方法不是強制轉(zhuǎn)換它。

非常粗略的例子:

var_dump((bool) <variable>);

問題是,如果它不是“真”、“空”或我相信 0 它將返回真。我很著急,否則我會更好地為你沖掉它。


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號