Я создал форму .post, которая возвращает строку JSON, и мне нужно получить данные на основе имени полей выбора. обратитесь к следующему примеру.JSON извлекает объект через имя переменной
JavaScript
$(document).ready(function(){
$.post('/seller/product_upload/helpers/jpost_product_form_autofill.php',{product_id:$("input[name='product_id']").val()},function(data){
alert(data);
if(data!='false'){
var obj = jQuery.parseJSON(data);
$("#attributes_table select").each(function(){
var select=$(this);
select.find("option").each(function(){
var option=$(this);
var select_name=select.attr('name');
alert(select_name);
alert(obj.select_name);
if(option.val()==obj.select_name){
option.attr('selected','selected');
}
});
});
}
});
});
Основной раздел беспокойства здесь на самом деле нижняя часть if
. obj.select_name
не является главным именем объекта здесь. На самом деле это имя selectbox
, которое я сделал совпадающим с моими значениями ключа массива, проанализированными в JSON.
Но теперь система продолжает предупреждать о неопределенности для obj.select_name
. Есть ли способ, в котором я могу сначала проанализировать select_name как строку перед тем, как он будет разбираться как объект JSON?
Нет такой вещи, как «объект json». Есть строки json, которые могут быть декодированы в собственную структуру данных. если вы получите неопределенную ошибку, затем запишите структуру декодированных данных на консоль и посмотрите, что на самом деле там. –