2015-07-10 4 views
1

Как передать аргумент функции ajax get в Java Script вместе с возвращаемым значением?Аргумент функции JavaScript Pass Out With With Return Value

В приведенном ниже примере, я хочу, чтобы принести через значение аргумента функции GetServer id и сделать его доступным для функции returnValue

function getServerList(id) { 
     $.ajax({ 
      type: "GET", 
      url: "/BackEndFunction/" + id, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: returnValue 
     }); 
} 

function returnValue(Data) { 
    var _size = 0; 
    var id= id // passed from getserverlist 
    for (var i = 0; i< Data.length; i++) { 
     _size += Data[i]._size; 
    } 
    data_dictionary[id] = _size; 
} 
+0

Сделать его доступным, как exa ctly? Принимает ли 'returnValue' аргумент? –

+0

Хороший вопрос, пропустил это, да в общем, я уточню вопрос. – JammAndTea

+0

вы можете попробовать что-то вроде thid: если объявить 'returnValue' как' returnValue (param_id, responce) ', поэтому вы можете использовать' bind' like 'success: returnValue.bind (this, id)' – Grundy

ответ

3

Anonymous функция спасения

function getServerList(id) { 
    $.ajax({ 
     type: "GET", 
     url: "/BackEndFunction/" + id, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(data) { 
      returnValue(data, id); 
     } 
    }); 
} 
+0

Никогда не использовал анонимную функцию, new js - function (data) - каковы данные там? данные, возвращенные из вызова Ajax? – JammAndTea

+0

@JammAndTea: Да. '$ .ajax' вызывает обратный вызов' success', когда получен ответ и передается в качестве первого аргумента функции. –

+0

F00kin 'изумительный, спасибо, сэр, хороший день! Принят, когда это позволит мне. – JammAndTea

1

You мог также проксировать его

function getServerList(id) { 
    $.ajax({ 
     type: "GET", 
     url: "/BackEndFunction/" + id, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: $.proxy(returnValue, this, id) 
    }); 
}