2015-12-15 2 views
0

У меня возникла проблема с извлечением значения из файла XML. У меня есть предупреждение, которое дает мне ожидаемое значение, но когда я пытаюсь вернуть значение, он возвращает NaN. Спасибо заранее.JQuery извлекает значение из xml

function GetNumberOfSales(fixedScenario) { 
    var result; 
    $.ajax({ 
      type: "GET", 
      url: "values.xml", 
      dataType: "xml", 
      success: function (xml) {   
      $(xml).find("values").each(function() { 
       alert($(this).find(fixedScenario).text()); 
       result = $(this).find(fixedScenario).text(); 
      }); 
     } 
    }); 
    return result; 
} 
+0

Предоставьте jsfiddle для этого –

+0

['.parseXML'] (http://api.jquery.com/jQuery.parseXML/) –

ответ

1

Вы должны использовать:

var $xml = $(xml).parseXML(); 

И затем использовать функции в JQuery на вышеуказанном объекте:

function GetNumberOfSales(fixedScenario) { 
    var result; 
    $.ajax({ 
    type: "GET", 
    url: "values.xml", 
    dataType: "xml", 
    success: function(xml) { 
     var $xml = $(xml).parseXML(); 
     $xml.find("values").each(function() { 
     alert($(this).find(fixedScenario).text()); 
     result = $(this).find(fixedScenario).text(); 
     }); 
    } 
    }); 

    // This executes before the AJAX call is completed. 
    // This will NEVER work! 
    // Please add the logic that uses the `result` here. 
    return result; 
} 

Кроме того, не return значение в диапазоне от AJAX вызова, вы можете, как это является асинхронным. Все, что вы хотите сделать, используя ответ сервера, должно выполняться внутри функции success, а не в другом месте.

Смежные вопросы