未能将JSON从一种方法传递到另一种方法

时间:2017-03-20 09:29:19

标签: javascript json ajax

背景 我必须在表单中显示数据库中存在的产品选项。 每个产品都有多个选项,每个选项都有多个值。 我有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

我该怎么办?

0 个答案:

没有答案