2013-11-23 2 views
0

У меня есть следующий код, как получить доступ к значениям данных в успех обратного вызова послал в качестве параметра Jquery пост

function myfunc() 
{ 
$.post(
"http://www.crossdomain.com/", 
{code:'123'}, 
function(data) 
{ 
//use code value here 
}, 
'jsonp' 

); 

} 
  1. не может использовать $ .ajax
  2. не может использовать глобальную переменную в качестве значения будет постоянно меняться
  3. может быть передан дополнительный параметр функции успеха?
  4. можно ли использовать это ключевое слово для доступа к кодовому значению каким-то образом?
+0

Он Он Лот условий !! :) –

+0

жаль что :) – user166289

+0

могли бы вы предоставить лучший пример? Мне непонятно, к чему вы хотите получить доступ. –

ответ

0

Относительно 3 и 4 - нет. Но это должно сработать.

function myfunc() 
{ 
    var params = {code:'123'}; 
    $.post(
     "http://www.crossdomain.com/", 
     params, 
     function(data) 
     { 
      alert("You have passed " + params.code); 
     }, 
     'jsonp' 
    ); 
} 

Вот полный рабочий пример, может быть выполнена в jsfiddle:

var myFunc = function(codeVal) 
{ 
    var params = {text: codeVal}; 
    $.post(
     "http://md5.jsontest.com/", 
     params, 
     function(data) 
     { 
      console.log("MD5(" + params.text + ") = " + data.md5); 
     }, 
     'jsonp' 
    ); 
} 

for (var i=1; i<5; ++i) { 
    myFunc(i); 
} 
+0

эй, params находится за пределами пост-звонка, если я запустил его в цикле и изменил значение параметра, будет ли он использовать значение, переданное в пост-вызов, с его соответствующим циклом? – user166289

+0

, чтобы использовать значение params, вы можете вызывать myFunc в цикле, передавая ему необходимые параметры. В противном случае, да, параметры будут перезаписаны на каждой итерации. Но если вы вызовете myFunc в цикле, 'params' будет локальной переменной и будет сохранен до завершения обратного вызова запроса. – bhovhannes

+0

спасибо за объяснение, это сработало :) – user166289

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