我使用以下脚本来获取remaining.php
的内容。
缺点是有时它不起作用或显示文本有点慢。还有其他方法吗?
谢谢
$(document).ready(function(){
$("#SubmitButton").click(function (){
$('#remaining').load('remaining.php');
});
});
答案 0 :(得分:1)
如果“有时它不起作用或有点慢”,问题可能是你正在使用的服务器,而不是你的javascript代码。
您在这里向我们展示的javascript代码并没有真正做任何可能很慢的事情,它只会在提交按钮上绑定一个事件。但是,可能缓慢的是在发送remaining.php请求时等待Web服务器的回答
从那里,有数千个原因导致您的网络服务器速度变慢。也许你可以发布你的remaining.php文件的内容,这样我们就可以看到那里发生了什么。
答案 1 :(得分:1)
您可以直接将remaining.php
的内容包含到初始标记中,但可以通过将display:none;
样式应用于#remaining元素来隐藏它。然后,当单击按钮时,只需显示它:
$(function() {
$('#SubmitButton').click(function () {
$('#remaining').show();
});
});
当然,如果您需要将一些参数传递给脚本,这些参数将取决于仅在单击按钮时已知的一些javascript变量,您将需要使用当前正在进行的AJAX。
答案 2 :(得分:0)
这不是jQuery的错,而是从服务器返回的速度。也许有更好的方法来处理它而不是获取整页?
例如,如果您的内容请求仅检索消息,则可以从服务器返回JSON并让jQuery处理数据:
$(document).ready(function(){
$("#SubmitButton").click(function (){
$.post('remaining.php',
null,
function(data) {
// do stuff with your JSON result
});
});
});
答案 3 :(得分:0)
当您使用.load()时,您正在向服务器发送请求以获取您的内容,这就是为什么它看起来很慢。我不确定为什么它有时不起作用,但我冒昧地猜测你可能在$(文件).ready fires之前点击$(“#SubmitButton”)。
根据您的实施情况,您可以重构您的应用程序,以便在页面上预先加载您要显示的文本。