2013-06-20 2 views
1

Как получить данные при использовании метода jQuery.get?jQuery получить отправленные данные назад

function send_data(pgId) 
{ 
    for(var i = 0; i < pgId.length; i++) 
    { 
     // $.get(url, data, success(data, textStatus, jqXHR)) 
     $.get('index.php?page=' + pgId[i], pgId[i], function(respTxt, status, xhr) 
     { 
      if(status === "success") 
      { 
       alert("Data received: " + respTxt + "\n"); 
       alert("Data sent: " + pgId[i]); //<-- ??? 
      } 
     }); 
    } 
} 

Параметр, что я посылаю не является обязательным, сервер не принимает этот параметр, единственное, что я хочу, чтобы передать этот параметр в функцию обратного вызова, когда удается работать. pg_array - массив идентификаторов DIV.

Мне нужно получить отправленные данные для обработки, когда ajax завершится успешно или, по крайней мере, передаст этот аргумент пользовательскому обратному вызову при его успешном завершении.

Я также новичок в веб-разработке, поэтому, извинения. Я много искал, но я не мог понять ни одного из образцов, которые он показал.

С уважением.

ответ

0

Вы можете сделать это с крышкой, которая будет держать значение ID:

function send_data(pgId) { 

    var callbackWithId = function (pgId) { 
     //This will keep the pgId for the returned function 
     return function(respTxt, status, xhr) { 
      if(status === "success") { 
       alert("Data received: " + respTxt + "\n"); 
       alert("Data sent: " + pgId); 
      } 
     } 
    } 

    for(var i = 0; i < pgId.length; i++) { 
     $.get('index.php?page=' + pgId[i], pgId[i], callbackWithId(pgId[i])); 
    } 
} 
+0

Спасибо, работал отлично! :-) – user2399415