2014-10-02 2 views
0

Я пытаюсь использовать JQuery функции GET для загрузки значения из внешней страницы переменнойсохранения значения в переменной

var cbname = $.get('/getname.php','name='+item.f); 
alert(cbname); 

но начеку это приносит мне object object

Может кто-нибудь руководство, что является лучшим подходом для этого:

+1

он возвращает объект обещание –

+0

попробовать console.debug (cbname), чтобы увидеть, что он содержит –

+0

возможный дубликат [Как вернуть ответ от Ajax вызова? ] (http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) – dave

ответ

0
var cbname; 

$.get('/getname.php','name='+item.f, function(data) { 
    cbname = data; 
    alert(cbname); 
}); 

Gotta использовать обратный вызов успеха.

Если вы не хотите использовать функцию обратного вызова, но вместо этого хотите синхронный вызов:

jQuery.ajax({ 
    url: '/getname.php?name='+item.f, 
    success: function(data) { 
     cbname = data; 
    }, 
     async: false 
}); 

alert(cbname); 

Отметим также, что если item.f не URL-адрес в безопасности, вы будете хотеть использовать

'/getname.php?name='+encodeURIComponent(item.f) 

вместо

+2

Довольно уверен, что вы получите 'undefined' от этого. 'alert' также должен быть в обратном вызове. – dave

+0

ребята, если я использую выше и размещаю предупреждение вне обратного вызова, он дает мне «объект объекта», как его использовать вне. – voyeger

+0

обновлен для синхронной функции (SJAX вместо AJAX) – Lotus

0

Если вы делаете веб-запросов, не принимать легкий путь, заставляя вашу программу для запуска синхронно, а начать думать, как программист AJAX: вместо того, чтобы думать «я нужна функция й при возврате значения, - считает программист AJAX, - мне нужна функция, которая делает что-то со значением, как только я его получу ».

Вы хотите что-то вроде следующего:

$.get('/getname.php','name=' + item.f, myCallback); 

function myCallback(cbname) { 
    alert(cbname); 
}