背景 我必须在表单中显示数据库中存在的产品选项。 每个产品都有多个选项,每个选项都有多个值。 我有2个函数,一个用于获取产品选项,另一个用于获取与选项相关的值。我在第一个函数中调用第二个函数。
问题: 当 OptionValues 在获取正确的JSON响应时起作用,我无法将响应值正确传递给 getProductOptions 函数以显示它们。
选项值功能:
function optionV(option_id){
var dataString = 'option_id=' + option_id ;
$.ajax({
type: "GET",
url: 'index.php?route=new/orders/OptionValues',
data: dataString,
cache: false,
dataType: 'json',
success: function(values) {
return values;
}
});
}
getProductOptions函数:
function getProductOptions(sku){
// remove previous content in #options div
document.getElementById('options').innerHTML = "";
var dataString = 'sku=' + sku ;
// Get product options
$.ajax({
type: "GET",
url: 'index.php?route=new/orders/productOptions',
data: dataString,
cache: false,
dataType: 'json',
success: function(data) {
var options = '';
//loop through options to get values and show
for (var i=0 ;i< data.length;i++) {
//call function optionV to get option values
var optionVal = optionV(data[i].ID);
alert (typeof(optionVal));
}
});
}
警报说:未定义。并且任何尝试访问另一个函数的optionV结果都会失败。
我已经尝试过stringify和json.parse
我该怎么办?