我有AJAX(我认为)从服务器调用返回数据。
function showCustomer(str) {
var xmlhttp;
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "getcustomer3.asp?q=" + str, true);
xmlhttp.send();
}
电话会回复:
<script>var CC2=101;var CC4=105;</script>
101&amp; 105是我的数据库中的数据。
我在页面中有一个函数返回数据。这是功能:
function unhideCC() {
$("#" + CC2).show();
$("#" + CC4).show();
}
我从按钮onClick事件调用该函数,我等待单击所述按钮,直到返回数据后,我认为这样可行。
我正在努力将变量写回页面以加载到函数中。我有一种强烈的感觉,我会以完全错误的方式解决这个问题。有什么指示让我走上正确的道路吗?
提前致谢!
编辑:这是返回值的代码:
response.write("<script>")
dim counter: counter = 0
do until rs.EOF
for each x in rs.Fields
counter = counter + 1
'Use Mod() to check counter is even
If counter Mod 2 = 0 Then response.write "var CC" & counter & "=" & x.value & ";"
next
rs.MoveNext
loop
response.write("")
response.write("</script>")
答案 0 :(得分:2)
首先,您的Web服务器不能返回json结构而不是:
<script>var CC2=101;var CC4=105;</script>
作为json,它看起来像这样:
{
"CC2" : 101,
"CC4" : 105
}
访问这些变量会更容易。否则,您需要解析原始数据结构以提取信息或使用更加丑陋的eval(..)
。
使用JQUERY你的ajax调用看起来像这样:
$.ajax({
type: "GET",
url: "someurl",
datatype: "json",
data: ?,
success: function(jsonServerData){
var CC2 = jsonServerData.CC2;
var CC4 = jsonServerData.CC4;
},
error: function(status, xht, err){
}
});