使用 Javascript 和 ASP 从 AJAX 获取价值
我正在使用这个 Ajax 代码。但我不知道如何使用 Javascript 在服务器端 asp 上检索 value1 的值。
在我的服务器端我想要有类似的东西 <% var newdata = value1 (这是来自服务器端的值 - 发送到这里) %>
请帮忙!!!谢谢一百万
我知道用 PHP 是可能的,但我该怎么用 javascript
<script>
function ajaxNow(_data)
{
var xmlHttp;
try
{
/* Firefox, Opera 8.0+, Safari */
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
/* newer IE */
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
/* older IE */
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser is old and does not have AJAX support!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
/* this puts the value into an alert */
alert("Value read is: "+xmlHttp.responseText);
}
}
xmlHttp.open("GET","ajax_file.asp?value1="+_data,true);
xmlHttp.send(null);
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
由于显而易见的原因,客户端 Javascript 无法查询基于服务器的数据库。根据您似乎正在做的事情,我建议您编写一个 ASP,它使用 VBA / C# / 等执行实际查询,然后您可以像平常一样解析客户端 ajax 调用中的结果。
Client-side Javascript can't query server-based databases for obvious reasons. Based on what you appear to be doing, I would suggest you code an ASP which performs the actual query using VBA / C# / whatever, and you can then parse the results in your client-side ajax call as normal.
URL 编码
_data
和nbquestions
变量。Request.QueryString("param1")
将为您解码它们。JavaScript URLEncode:
您还可以使用 VB 脚本中的 Server.URLEncode() 方法。
URL encode
_data
andnbquestions
variables.Request.QueryString("param1")
will decode them for you.JavaScript URLEncode:
Also you can use Server.URLEncode() methods from VB script.
200
状态。我会建议使用库来处理 XHR 内容,而不是重新发明轮子。 Microjs 如果您不使用大型库之一(例如 < a href="http://developer.yahoo.com/yui/" rel="nofollow">YUI 或 jQuery< /a>)。
它只是查询字符串数据,因此它将位于
Request.QueryString
中。200
status before trying to deal with the data.I would suggest using a library to handle XHR stuff, instead of reinventing the wheel. Microjs has a list of lots of small libraries if you aren't using one of the large ones (such as YUI or jQuery).
It is just query string data, so it will be in
Request.QueryString
.无论服务器端脚本输出什么,AJAX 请求都会获取该输出。因此,如果 AJAX 请求某些内容,服务器端会进行跑腿工作并从数据库中获取结果,然后将其输出。
有大量关于如何做到这一点的教程。只需确保正确保护脚本,以免其被滥用。
Whatever the server-side script outputs will be picked up by the AJAX request. So if the AJAX requests something, the server-side does the legwork and fetches the result from the database and then outputs it.
There are loads and loads of tutorials on how to do exactly this. Just ensure that you secure your script properly so that it's not open to abuse.
您可以使 asp 页面将结果写入 JSON 格式,直接通过 XMLHttpRequest 对象读取并稍后处理:
JSON 示例
然后您可以在 Web 浏览器中使用本机解析器或 eval() (不推荐,严重!!!)来解析将数据写入您的 asp 页面并在您的 javascript 客户端代码中使用它。
有关浏览器中JSON 基本信息
JSON 的更多信息:
you can make the asp page write the result as JSON format read in directly via XMLHttpRequest Object and later processing:
example of JSON
then you can use native parsers in web browsers or eval() (NOT RECOMENDED, SERIOUSLY!!!) to parse the data written in your asp page and use it in your javascript client code.
More information about JSON basic info
JSON in browsers:
如果您的响应文本是一个数组,您可以使用它。
或者如果它只是文本,您可以使用 .
另一种方法。这只是一个模板。如果你使用jquery,则可以使用这种方法。我希望它能解决你的问题或提供一个想法。
html 部分:
JQuery 部分:
if your response text is an array you can use this.
or if it is a just text you can use .
Another approach.This is just a template. If you use jquery, you can use this approach. i hope it solve your problem or give an idea.
html part:
JQuery part:
当您的 Ajax 请求成功时,您将在请求对象的查询字符串集合中拥有查询字符串变量。
在服务器端可以像这样工作:
When your Ajax-Request succeeds you will have the querystring-variables in the QueryString-Collection of the Request-Object.
Could work like this on the server side:
这是一个非常好的ajax教程。一切都有解释了。 https://developer.mozilla.org/en/AJAX/Getting_Started
你忘记了双精度引用:
获取数据:
Here is a very good ajax tutorial. There is everything explained. https://developer.mozilla.org/en/AJAX/Getting_Started
You forget a double quote:
To get the data:
您需要在服务器上对数据进行编码,然后在客户端中对其进行解码。为此,您可以使用 JSON-RPC。
以下是一些链接:
官方网站
关于 JSON-RPC 的维基百科文章
JSON-RPC 的实现不同语言的服务
但是你如果您只有一个值,则不需要使用 JSON-RPC,您可以在 ASP 中将其编码为 JSON,然后在 JavaScript 中对其进行解码
You need to encode the data on the server and then decode them in the client. You can use JSON-RPC for this.
Here are few links:
Official Website
Wikipedia Article about JSON-RPC
Implementations of JSON-RPC Service in different languages
But you don't need to use JSON-RPC if you have only one value you can encode as JSON in ASP and then decode it in JavaScript