我使用的代码是:
$.ajax({
type: "POST",
url: "/ajax/login.php",
data: dataString,
success: function(html) {
if (html == 1) {
$("#loginPanel").load("/ajax/login-panel.php");
$("#bookName").load("/ajax/getSessionDetails.php #userUsername");
$("#bookEmail").load("/ajax/getSessionDetails.php #userEmail");
$("#bookingLogin").hide("fast");
} else {
$("#loginError").html("Sorry, login failed, please try again");
}
}
});
如果我对$("#bookName").html("Test Content");
这样的硬编码工作正常,那么.load调用一定是个问题。
我环顾四周,发现有人提出类似下面的代码,但我无法让它起作用:
$.get(htmlBannerUrl, function(data){
$('textarea').val(data);
});
答案 0 :(得分:2)
您还可以使用text();
$('#loginError').text();
答案 1 :(得分:0)
你可能会同时发出太多的ajax请求:
$("#loginPanel").load("/ajax/login-panel.php");
$("#bookName").load("/ajax/getSessionDetails.php #userUsername");
$("#bookEmail").load("/ajax/getSessionDetails.php #userEmail");
HTTP 1.1规范建议客户端只允许2个同时连接到任何始发主机。您可以尝试在$ .ajax的成功回调中将这些减少到单个,以查看它是否按预期工作。另见:
How many concurrent AJAX (XmlHttpRequest) requests are allowed in popular browsers?
答案 2 :(得分:0)
好吧,我不得不使用一种解决方法来做到这一点,一点也不好,但至少让我坚持到背景,直到构建的其余部分完成。
不是将其添加为值,而是必须在新的php页面中构建整个表单的欺骗并使用.load插入。好的是它有效,坏的是如果我想重用代码它没有用,我将不得不构建另一个页面。
我应该保持这个问题,因为我只找到了一个解决方法,Stackoverflow是如何工作的?