निकालें मैं एक php फ़ाइल से भेजे गए jquery में एक जेसन प्रतिक्रिया निकालने का प्रयास कर रहा हूं।जेसन प्रतिक्रिया
$.ajax({
url: 'index.php?page=register', //This is the current doc
type: 'POST',
datatype: 'json',
data: {'userCheck': username},
success: function(data){
// Check if username is available or not
},
error: function(){
alert('Much wrong, such sad');
}
});
यह php फ़ाइल से प्रतिक्रिया है:: यह .js कोड है
if($sth->fetchColumn()!=0){
//$response = array("taken");
$response = array("username"=>"taken");
echo json_encode($response);
//echo '{"username':'taken"}';
}else{
//$response = array("available");
$response = array("username"=>"available");
echo json_encode($response);
//echo '{"username":"available"}';
}
मैं सभी संयोजनों मैं दोनों फाइलों में सोच सकते हैं की कोशिश की है, लेकिन कुछ भी काम करने के लिए लगता है। यह डेटाबेस में उपयोगकर्ता नाम के लिए एक साधारण जांच है। अगर मैं डेटा मैं प्रतिक्रिया से प्राप्त कर लॉग ऑन सांत्वना देते हैं, मैं इस मिल:
{"username":"available"}<!DOCTYPE html>
// The rest of the page html
तो जानकारी नहीं है, लेकिन मैं इसे कैसे उपयोग करते हैं? मैंने इंटरनेट के चारों ओर कई वाक्यविन्यासों की कोशिश की है, लेकिन अभी तक कोई भाग्य नहीं है। मुझे याद है कि एक जेसन प्रतिक्रिया में केवल वैध जेसन हो सकता है, तो क्या समस्या एचटीएमएल है? मुझे नहीं लगता कि मैं अपने आवेदन की संरचना के कारण इससे बच सकता हूं, इसलिए उम्मीद है कि मेरी वर्तमान संरचना के साथ जेसन तक पहुंचना संभव है।
पर भेज रहे हैं ** हैडर ("सामग्री होने की
इस प्रकार अपने jQuery ajax कॉल beforeSend समारोह में अनुरोध हेडर सेट कर सकते हैं -टाइप: एप्लिकेशन/जेसन "); ** ** echo ** से पहले **? – user2182349
@ user2182349 यह क्यों मायने रखता है? उसके पास AJAX कॉल में 'डेटा टाइप: "जेसन" है, इसलिए यह सामग्री प्रकार को अनदेखा कर देगा। – Barmar
@MaDaHoPe: उत्तर दिया;) बाहर निकलने के लिए मत भूलना(); जेसन प्रतिक्रिया में एचटीएमएल पेज से बचने के लिए! – MTroy