Мне нужно, чтобы заполнить мой массив с информацией, когда я перетащить элемент в корзину зоны свиноматку в перетащить даже ти поместить эту функциюКак передать массив с AJAX
var ProductInfo=new Array();
myGlobalArray=GetProductById(iProductId);
, что называют эту функцию Ajax
function GetProductById(iProductId)
{
var ProductInfo=new Array();
console.log("2");
$.ajax({
type: 'POST',
url: 'services/ManageCategoriesServices.asmx/GetProductById',
dataType: 'xml',
'data': {'iProductId': iProductId },
success: function(data) {
source = null;
try
{
console.log("source product-> ",data.activeElement.childNodes);
myGlobalArray=TestProduct(data.activeElement.childNodes);
console.log("In Ajax myGlobalArray-> ",myGlobalArray); return myGlobalArray;
}
catch(e) {
$('#m_lblStatus').text('failed to read json');
}
},
fail: function() { $('#m_lblStatus').text('fail');}
});
return myGlobalArray;
}
Я проверил, что мой myGlobalArray получить полную информацию, что мне нужно, но когда я вернусь к моей первой функции, когда я пытаюсь скопировать массивы
myGlobalArray=GetProductById(iProductId);
он пуст, и он говорит
Есть не возражает ни один ребенок
Я использовал глобальный массив, так как обычно не будет работать, так что я думал, что глобальное будет работать , но не в AJAX я вижу полный, но в первой функции он пуст.
In Ajax myGlobalArray-> ["medium_101-01-004-02.jpg", "303", "101-01-004-02", "44.95"]
After Ajax myGlobalArray-->[] There are no child objects
В чем проблема?
Обратите внимание, что установка 'асинхронное: false' * не * рекомендуется решение, поскольку оно неизбежно [ приводят к другим проблемам] (http://stackoverflow.com/questions/17146392/function-in-javascript-take-to-maucu-time-and-this-stop-the-scipt). – JJJ
Хм ... Я использовал его несколько раз, но не получаю этих неприятностей, но я буду осторожен в будущем, спасибо за совет. –