我想使用jquery帖子从php文件中获取一个字符串。
function getString(string) {
return $.ajax({
type : 'POST',
url : 'scripts/getstring.php',
data : { 'string': string }
});
};
在firebug控制台中我可以看到找到了所需的字符串,但如果我想用它来获取它
var blub = getString("test");
alert(blub);
仅显示“对象对象”。 只是无法得到我的错误..
答案 0 :(得分:3)
对服务器发出的Ajax请求是异步执行的,因此ajax
方法实际上返回一个表示请求本身的对象,而不是来自服务器的实际响应。
jQuery 1.5中$ .ajax()返回的jQuery XMLHttpRequest(jqXHR)对象是浏览器的原生XMLHttpRequest对象的超集。
您可以改为使用success
回调:
function getString(string) {
return $.ajax({
type : 'POST',
url : 'scripts/getstring.php',
data : { 'string': string }
success: function(result) {
alert(result);
},
});
};
或者如果您想要更灵活,可以将回调函数作为参数:
function getString(string, callback) {
return $.ajax({
type : 'POST',
url : 'scripts/getstring.php',
data : { 'string': string }
success: callback,
});
};
getString('test', function(result) {
alert(result);
})
答案 1 :(得分:1)
您正在返回一个jQuery jqXHR对象。
如果您要处理HTTP响应中的数据,则需要添加done
(或success
处理程序。
blub.done(function (data) {
alert(data);
});
答案 2 :(得分:0)
object Object
是预期的响应,因为返回的数据是和对象。
如果要查看生成的对象,请尝试:
console.log(blub)
代替并在控制台中查看。
这可以帮助您确定要在对象中检索的数据的正确路径。