ajax跨域方法
昨天看了篇不是很严谨的博文《一个算命小偷程序的诞生》,里面写了一个通过AJAX偷窃别人网站算法的方法。实践了一下根本不行,AJAX似乎不能跨域。
后来我想了一些解决方法,终于跨域成功。现在公布一下方法。
任务:在自己网站做个表单,向【就爱算命网】提交请求,然后将【就爱算命网】的算命结果显示在自己的网站上。
思路:既然跨域不行,就不跨域呗。
我发现这个网站用http://www.92suanming.com/ ajax/suanming.ashx这个文件处理GET请求,然后返回算命结果。那么我们只需在自己的网站上也建立个suanming.ashx文件,然后写入以下代码就不必跨域啦。
string btd=Request.Form["btd"].ToString();//在本地获取生日
string url="http://www.92suanming.com/ ajax/suanming.ashx?&gender='1'&btd='"++btd"'";
WebRequest wrq;
HttpWebResponse wrp;
wrq=HttpWebRequest.Create(urls);
wrp=(HttpWebResponse)wrq.GetResponse();
Stream resStream=wrp.GetResponseStream();
StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
string tempstr = sr.ReadToEnd();
Response.Write(tempstr);
这样我们的suanming.ashx与【就爱算命网】的suanming.ashx有了相同的功能。
前台页面向自己的suanming.ashx提交请求就可以了。
相关文档:
在Ajax url传参时出现中文乱码的情况
例1: xmlHttp.open("GET","Engine.aspx?Action=getmainsort&Type=2&Parent="+escape("中文")+"&Stochastic=" + Math.random(),true);
但是这个只能普通的<a href=''.有效果。如果是ajax传值的话还是不行的...有人提出:要 ......
AJAX乱码解决
用过AJAX的朋友肯定知道javascript是使用UTF-8国际编码,即每个汉字用4个字节来存储,但是这就造成了用AJAX来send数据的时候出现乱码。
Ajax乱码产生主要有2个原因
1. xtmlhttp 返回的数据默认的字符编码是utf-8,如果前台页面是gb2312或者其它编码数据就会产生乱码
2. post方法提交数据 ......
一.工具下载
1.ASPAJAXExtSetup.msi
http://download.microsoft.com/download/5/4/6/5462bcbd-e738-45fa-84ca-fa02b0c4e1c2/ASPAJAXExtSetup.msi
2.ASPAJAXSourceCode.msi
http://download.microsoft.com/download/6/d/6/6d6c7c47-b9ff-4934-bb03-8a45b8418d35/ASPAJAXSourceCode.msi
3.AjaxControlToolkit
http://ww ......
1创建两张页面 Reg.aspx、CallServer.aspx。
在Reg.aspx页面的html中放 一个层和一个文本框
<div id="aa">
<asp:TextBox id="txtuser" runat="server" Width="136px"></asp:TextBox>
</div>
<span id="errInfo">请输入用户名</span>
在Reg.aspx页面中写javascript
定义二个变量 ......
1、ajax技术的背景
不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth、google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行。而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlH ......