客户端代码的一部分:
- HTML code
$("#btn").click(function () { urlData = "sum=" + count + urlData; $.ajax({ type: "post", data: urlData + "&callback=?", url: "http://localhost:3638/servertest1/pic.ashx?", dataType: "jsonp", success: function (data) { //客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数 alert(data); alert("OOOOOKKKKKKK") }, error: function () { alert("error"); } });
然后这是服务器端关键部分代码:
- C# code
using System; using System.Web; using System.Data; using System.Collections.Generic; public class pic : IHttpHandler { public void ProcessRequest (HttpContext context) { string strSum = context.Request.Params["sum"]; string result =String.Empty; List<String> listString = new List<string>(); if (null != strSum) { int sum = Convert.ToInt32(strSum); for (int i = 0; i < sum; i++) { string pic = context.Request.Params["pic" + i.ToString()]; int le = pic.Length; pic = System.Web.HttpUtility.UrlDecode(pic); listString.Add(pic); } result = picHelper.Base64StringToImage(listString[0]); } context.Response.ContentType = "text/plain"; context.Response.Write(result);//我想通过这个,把服务器端处理得到的结果,返回给客户端; context.Response.End();
////////////////////////////////////////////////
context.Response.Write(result);我想通过这个,把服务器端处理得到的结果,返回给客户端;其中已知result已经是一组字符串。但是折腾了一个通宵,客户端都还是弹error!!估计应该是返回json的时候出错了,是返回的格式问题??or....
请各位大神就帮帮忙吧!!太感激了!!
------解决方案--------------------
你指定为jsonp了,要在服务器端获取回调函数名并输出
- C# code
context.Response.Write(context.Request.Form["callback"]+"('"+result+"')");//我想通过这个,把服务器端处理得到的结果,返回给客户端;