我正在尝试编写这段代码来从php页面调用信息以显示在html页面上。希望我做对了,但是当我尝试在浏览器中打开它时,chrome会给我一个错误,即错过了paranthesis但是对于我的生活我找不到它。任何帮助将不胜感激!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Accounts</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
$('#info').onload = function() {
var answer=$.get('account.php,' queryString, function(data) {
$('#info').html(data);
});
var queryString="Hello, you are logged in as " + answer;
};
});
</script>
<form id="info">
</form>
</body>
</html>
答案 0 :(得分:4)
你在网址字符串
中有逗号var answer = $.get('account.php,'
_____^____
把它放在外面,如
var answer = $.get('account.php', queryString, function (data) {
$('#info').html(data);
});
并且错误将消失。
但正如@MarcB所说,
此代码永远不会工作。 $ .get()不返回ajax 数据。答案将是jqhxr对象,而不是你的任何价值 试图从服务器获取。
您需要修改代码,因为其中存在一些问题。
首先,jquery中没有onload
属性。它是一个javascript事件对象,使用如下: -
window.onload=function(){// your logic here};
$.get()
不会返回ajax数据。它将在回调函数中返回ajax数据。
我上面已经提到的代码中的错字。
queryString
是undefined
,而您尝试将其传递给.get()
,因为之后已宣布。您可以执行以下操作: -
$.get('account.php', 'Guest', function(answer) {
var queryString="Hello, you are logged in as " + answer;
$('#info').html(queryString);
});
有关.get()
方法的更多详细信息:$.get() jQuery API Documentation
答案 1 :(得分:4)
你有多个问题。
onload
属性:$.get
的返回值只是一个jQuery promise
对象queryString
的值,但是根据之前操作的结果创建它...谈论无穷无尽的结!您可以使用单个jQuery load()
$(function(){
$('#info').load('account.php');
});
$(function(){
只是$(document).ready(function(){
queryString
变量,但如果需要,只需将参数附加到网址即可。