首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jsonp 简单的返回结果有关问题!新手求解!

2012-09-05 
jsonp 简单的返回结果问题!!新手求解!!!客户端代码的一部分:HTML code$(#btn).click(function () {urlDa

jsonp 简单的返回结果问题!!新手求解!!!
客户端代码的一部分:

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+"')");//我想通过这个,把服务器端处理得到的结果,返回给客户端; 

热点排行