从 AJAX 获取字符串
Getting string from AJAX
我已经在谷歌上搜索了一段时间,试图找到一种简单的方法来使AJAX工作。我已经发现了一些东西,但到目前为止,我还没有幸运地让它们工作。我想从一个名为"serverstatus.php"的PHP文件中获取一个字符串。该字符串当前在服务器状态页面上输出,如下所示:"在线:0:20离线"解释:有两台服务器,第一台在线服务器在 20 个客户端中有 0 个。第二个是离线的。
我希望它做的是通过 AJAX 加载这些值,然后用"拆分它们,然后通过":"拆分我得到的每个值。这应该给我我想要的一切。
我必须获取字符串的代码是这样的:
<head>
<script>
var someVar;
$.ajax({url: $_SERVER['DOCUMENT_ROOT'].'/inc/int/serverstatus.php', success: function(ajaxResponse) {
someVar = ajaxResponse;
document.write(someVar);
}});
</script>
</head>
注意:我希望在页面开始加载后立即调用代码。
编辑:我认为问题是它没有从状态页面获取任何值。此外,状态页面上的值是从 MySQL 服务器加载的,因此显示大约需要 1-3 秒。
这将在
页面加载并拆分字符串后立即运行。然后,数据将以 ID - response_container 放入div 中
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
var someVar;
$.ajax({
url: 'serverstatus.php',
success: function(ajaxResponse) {
var data = ajaxResponse.split(" ")[0].split(":");
currentClients = data[1];
maxClients = data[2];
$("#response_container").append('Clients: ' + currentClients + ', Max: ' + maxClients);
}
});
});
</script>
</head>
<body>
<div id="response_container"></div>
</body>
</html>
"然后用" "拆分它们,然后拆分我通过":"得到的每个值
那么问题出在哪里呢?完全实现您所描述的内容很简单:
var tmp = ajaxResponse.split(" ")[0].split(":");
var currentClients = tmp[1];
var maxClients = tmp[2];
。但是,如果从服务器返回的字符串格式错误,则显然会遇到问题,因此您可能需要单独执行.split()
操作。
或者你可以只使用正则表达式而不是.split()
:
var currentClients,
maxClients,
matches = ajaxResponse.match(/('d+):('d+)/);
if (matches){
currentClients = matches[1];
maxClients = matches[2];
} else {
// response was in the wrong format, so do something else
}
这应该有效:
var someVar;
$.ajax({url: $_SERVER['DOCUMENT_ROOT'].'/inc/int/serverstatus.php', success:
function(ajaxResponse)
{
var array = ajaxResponse.split(" ");
for(var i in array)
{
var subArray = array[i].split(":");
if(array[i] === "Offline")
document.body.innerHTML += "Server "+i+" is offline.<br/>";
else
{
document.body.innerHTML += "Server "+i+" has "+subArray[1]+" out of "+subArray[2]+" clients online.<br/>";
}
}
}
});
http://jsfiddle.net/VusC8/
var str="Online:0:20 Offline";
var n=str.split(":");
n 将是你的值的数组。
在此处查看有关拆分功能的更多信息
编辑:我想我想念解释出了什么问题,你能更新你的输入字符串以及你想要的输出
相关文章:
- 通过字符串获取JSON对象
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 使用字符串获取本地对象的属性
- 如何使用 jQuery 在标签的 for 属性中使用子字符串获取标签元素的值
- 使用 Javascript 将 Java 渲染为字符串获取最终 HTML
- 如何使用正则表达式从此字符串获取电子邮件
- 维基媒体API从JSON字符串获取相关数据
- 如何使用jQuery将HTML数据值作为字符串获取
- 带有换行符的JSP+HTML-将其作为字符串获取,并删除"新线”;
- 如何从字符串获取url-jQuery或Javascript
- QML-将JS函数的代码作为字符串获取
- cookie字符串获取并设置jquery控件的属性
- 通过字符串获取HTML元素
- 从绝对url字符串获取锚值
- 在myObj.one.two.three.field中,当字段有2个或更多嵌套级别时,通过路径字符串获取对象字段
- 从带有moment的非本地ISO8601字符串获取时间(小时,分钟)
- 使用javascript使用parseFloat和parseInt无法正常工作的字符串获取价格
- 如何从json字符串获取键值
- 使用javascript从给定字符串获取电子邮件id
- 从Json字符串获取数据到javascript (jQuery)