Ajax太慢,无法从服务器端响应(shell脚本)
Ajax too slow to response from server side( shell script)
我不确定这是我的服务器端问题或javascript/jQuery问题......我的shell脚本做这些事情(顺序):
-
使用'GET'从用户
获取参数 更改服务器日期的日期、时间等参数(使用
date -s
)、Linux服务器、NTP配置NTP服务器重命名文件(使用
mv filename1 filename2
)将NTP信息保存在配置文件中
killall test.sh
run
test.sh
客户端返回消息
现在我评论4和5的任务,但效率仍然太慢。我尝试过javascript和jQuery:javascript:
var dthttp;
if (window.XMLHttpRequest) {
dthttp=new XMLHttpRequest();
}else{
dthttp=new ActiveXObject("Microsoft.XMLHTTP");
}
try{
dthttp.open("GET", 'test.ncgi', true);
dthttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
dthttp.onreadystatechange = onReceivData;
dthttp.send(some parameter);
}catch(e){
dthttp.abort();
}
function onReceivData(){
if(dthttp.readyState==4){
if(dthttp.status==200){
// do something if success
}
}
}
响应很快,但我不知道为什么它不运行脚本......但是脚本中的文本是正确的......
所以我尝试了jQuery:'$.ajax({
url: "test.ncgi",
type: "GET",
async: false,
data: {
// some parameters
},
dataType: "json",
error: function(xhr){
// if error occured
},
success: function(data){
// if successfully
}
});
当我使用jQuery时,它确实运行脚本,但它阻塞了所有的网页,所以在脚本返回响应之前你什么也做不了。
我更喜欢改变我的javascript端,因为效率是好的,我只是不知道为什么脚本不运行.....
任何想法都很感激!
更新:感谢Mr.Manhattan的建议,jQuery可以运行并且不会阻塞网页
但是脚本的响应效率仍然很低......
和shell脚本:
if [ -f "_test.sh" ]; then
mv _test.sh test.sh
fi
echo -e "$NTP" > configfile
#killall test.sh &
#run test.sh &
varDATE=`date -s "$Date$Hour$Minute.$Second"`
sync
varDATE=`date`
cat << EOF
{
"MSG": "Server date/time is set as $varDATE"
}
EOF
好的,谢谢大家的帮助,我发现问题是我的shell脚本,
它处理事情的时间太长(test.sh和get Parameter部分)。
我检查一下那部分,希望能解决问题。
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- IIS动态HTTP响应标头
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Ajax响应转换
- 使Intro.js工具提示响应
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 将高图饼图中的文本居中显示为响应
- Ajax太慢,无法从服务器端响应(shell脚本)
- Bean shell脚本检查响应A或B是否存在于jmeter中的响应文本中