मैं लार्वा में एक JSON सरणी बनाने की कोशिश कर रहा हूँ औरफिर इसे अजाक्स के माध्यम से लाने की कोशिश कर रहा है। यह JSON बनाता है, लेकिन इसे jquery से प्राप्त करते समय समस्याएं पैदा कर रहा है। मैं वहाँ कुंजी-मूल्य जोड़ी लाने में सक्षम नहीं हूं।
यहाँ Laravel (PHP) में JSON सरणी बनाने के लिए कोड है:
foreach ($userIds as &$userId) {
$data[] = json_encode(array("Id"=>$id,"Name"=>$name,"HashId"=>$hashId));
}
return $data;
पुनश्च। $data
इस तरह की प्रतिक्रिया दिखाता है:
[
"{"Id":"111","Name":"abc","HashId":"I1J6EDO"}",
"{"Id":"112","Name":"xyz","HashId":"MDLYW9K"}"
]
इस तरह से मैं "अजाक्स पुनः कॉल करने की कोशिश कर रहा हूँ:
$.ajax({
type: "GET",
url: "/url/goes/here",
dataType: "json",
success: function(data) {
$.each(data, function(key, value){
$.each(value, function(key1, value1){
console.log(value1);
});
});
}
});
कंसोल त्रुटि दिखाता है:
Uncaught TypeError: Cannot use "in" operator to search for..
कुछ खोज के बाद, मैं समझ गया कि शायद प्रतिक्रिया स्ट्रिंग JSON सरणी है न कि JSON सरणी या obj (जैसा कि अपेक्षित है)
मुझे कुंजी-मूल्य जोड़ी लाने में मदद चाहिए। मैं जिस तरह से JSON को लार्वा में एनकोड करने के तरीके को बदलने के लिए खुला हूं। कृपया JSON और AJAX दोनों के लिए नए के रूप में मदद करें
उत्तर:
जवाब के लिए 2 № 1सरणियों के निर्माण के बाद आपको सब कुछ सांकेतिक शब्दों में बदलना चाहिए
$data = array();
foreach ($userIds as $userId) {
$data[] = array("Id"=>$id,"Name"=>$name,"HashId"=>$hashId);
}
return json_encode($data);