我想我在使用$ .post时遇到了困难...我过去曾成功使用它,但我必须忘记重要的事情。我想要的只是一个"你好世界",但我得到了一个复杂的对象。我很困惑。
var_test.php
<?php
PRINT "hi";
?>
的index.html
<!doctype html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<html><head>
var thing = $.post( "var_test.php");
console.log(thing);
</head><body></body></html>
控制台输出
Object { readyState: 1, getResponseHeader: .ajax/v.getResponseHeader(), getAllResponseHeaders: .ajax/v.getAllResponseHeaders(), setRequestHeader: .ajax/v.setRequestHeader(), overrideMimeType: .ajax/v.overrideMimeType(), statusCode: .ajax/v.statusCode(), abort: .ajax/v.abort(), state: .Deferred/d.state(), always: .Deferred/d.always(), then: .Deferred/d.then(), 8 more… }
答案 0 :(得分:1)
您应该添加一个回调来接收来自您的php的响应/数据:
$.post( "var_test.php", function(response) {
console.log(response);
});
请求完成后将执行该回调,这样,您可以确保准备好数据并设置为在JS中使用它。
答案 1 :(得分:1)
$.post()
如果您仔细观察“大”的话,我们就不会返回您的数据。对象它有连接数据。
你想要这个
$.post('var_test.php', function(myData) {
console.log(myData);
});
此外,您应该使用$.get()
来完成这类事情,方式完全相同
$.get('var_test.php', function(myData) {
console.log(myData);
});
答案 2 :(得分:1)
问题在于jquery代码,要求您使用以下代码的页面内容:
$.post( "var_test.php", function( data ) {
console.log( data );
});
在您编写的代码中,$ .post(&#34; var_test.php&#34;)返回一个jqXHR对象,它是一个异步调用,因此您需要使用回调,可在此处找到更多信息: