JS Ajax取.NET 数据中文问题
本人最近简单写了一个动态取数据的的一个Ajax方法,使用Jquery作为框架,思路如下:首先利用后台把数据存入一个简单的记事本文件中,然后Ajax访问一个Web 页面,Web页面获取记事本文件内容,并返回内容给Ajax,Ajax首页显示数据。但是遇到问题了,问题就是中文的编码问题。当后台取数据给Ajax,Ajax显示数据的时候,则Js报错,显示基于URI的编码错误, 我也问了很多人,查找了许多方法,但是效果都不佳,另外出现了一个让我不可明白的事,为什么有些中文字编码后就是正确的,而有些中文字则报错,望大家帮我解决下!
代码如下:
一、后台将数据存入文件
StreamWriter SW;
SW = File.CreateText(Server.MapPath("/info.txt"));
try
{
string str = "1,检测代码";
SW.Write(str);
}
catch (System.Exception ex)
{
}
finally
{
SW.Close();
}
二、Web页面获取文件数据
string filename = Server.MapPath("/info.txt");
StreamReader sr = new StreamReader(filename, Encoding.Default);
string str = sr.ReadToEnd();
sr.Close();
Response.Write( HttpUtility.UrlEncode(str, System.Text.Encoding.GetEncoding("GB2312")));
三、Jquery获取数据 显示
$.get("/GetInfo.aspx?rm="+Math.random(), {Action:"get",Name:"lulu"}, function (data, textStatus){
var str=decodeURI(data);//有些中文字不会错,有些报错
}
});
各位大家帮忙下!!!!
相关文档:
描述:Ajax基础 在进行Ajax开发以前,我们必须先对一些基本的知识进行了解。虽然Ajax.NET已经将Ajax实现细节封装起来,并大大简化
Ajax基础
在 进行Ajax开发以前,我们必须先对一些基本的知识进行了解。虽然Ajax.NET已经将Ajax实现细节封装起来,并大大简化了我们的操作,但是了解基 本的Ajax实现方式对于帮助我们在开发中 ......
ASP.NET 2.0 Ajax中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX
版本为AJAX November CTP。
三个示例分别为:
1 带参数的WS方法
2 不带参数的WS方法
3 参数类型为DataTable的WS方法
一、WebMethod
注意要点:
1 WebMethod类需要添加命名空间 Microsoft.Web. ......
由于安全问题的考虑,Ajax(xmlhttprequest)默认是不支持跨域调用的。比如在www.cadal.com去请求www.test.cadal.com的数据,都是不行的。
解决方案有很多,总结如下:
参考:
1.利用<script>标签
Difficult to know when the content is available, no standard methodology, can be considered a "security risk" ......