मैं अजाक्स कॉल में कुछ डेटा भेज रहा हूं। मूल्यों में से एक एक बूलियन सेट गलत है। यह हमेशा अजाक्स द्वारा लिखित PHP स्क्रिप्ट में TRUE के रूप में मूल्यांकन किया जाता है। कोई विचार?jQuery AJAX डेटा में एक बूलियन मान भेजें
$.ajax({
type: "POST",
data: {photo_id: photo_id,
vote: 1,
undo_vote: false}, // This is the important boolean!
url: "../../build/ajaxes/vote.php",
success: function(data){
console.log(data);
}
});
vote.php में, स्क्रिप्ट कि अजाक्स ऊपर में कहा जाता है, मैं बूलियन मान की जाँच करें:
if ($_POST['undo_vote'] == true) {
Photo::undo_vote($_POST['photo_id']);
} else {
Photo::vote($_POST['photo_id'], $_POST['vote']);
}
लेकिन $_POST['undo_vote'] == true
हालत हमेशा पूरा किया जाता है।
आप की कोशिश की 'है ($ _POST ['undo_vote'] == 'सत्य') {'? (मैं उम्मीद करता हूं कि अनुरोध पैरामीटर स्ट्रिंग के रूप में प्राप्त किए जाएंगे जबतक कि आप JSON की स्ट्रिंग पास नहीं करते हैं और व्यक्तिगत गुणों का परीक्षण करने से पहले सर्वर-पक्ष को पार्स करते हैं।) – nnnnnn
हां, चर स्ट्रिंग के रूप में पोस्ट किए जाते हैं। स्ट्रिंग "झूठी" के लिए परीक्षण हमेशा सच है। – showdev
एन सही है। सभी GET/POST पैरामीटर स्ट्रिंग हैं, और "गलत" 'एक सत्य मान है। –