Javascript 错误。从ASP.NET页面获取JSONP

Javascript 错误。从ASP.NET页面获取JSONP,javascript,jquery,asp.net,jsonp,Javascript,Jquery,Asp.net,Jsonp,我正在使用Jquery JSONP从ASP.NET页面进行跨域获取 我的ASP.NET页面如下所示 public partial class Test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("functionName({'test_param':12345});");

我正在使用Jquery JSONP从ASP.NET页面进行跨域获取

我的ASP.NET页面如下所示

    public partial class Test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("functionName({'test_param':12345});");
        }
    } 
            $.ajax({
                dataType: 'jsonp',
                url: 'http://abc.com/GTalk/test.aspx?callback=?',
                success: function () {
                    alert("Success");
                },
                error: function (x, y, z) {
                    alert("error" + x.responseText);
                }
            });
它作为test.aspx托管在我的服务器上

我现在从localhost使用JQuery,并尝试像这样从test.aspx获取数据

    public partial class Test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("functionName({'test_param':12345});");
        }
    } 
            $.ajax({
                dataType: 'jsonp',
                url: 'http://abc.com/GTalk/test.aspx?callback=?',
                success: function () {
                    alert("Success");
                },
                error: function (x, y, z) {
                    alert("error" + x.responseText);
                }
            });
我收到一个错误
x.responseText=“undefined”
错误z是
错误:jquery1710807305825281143\u 1328259709467

我不知道我犯了什么错误。我是个新手

谢谢

您必须将通过GET参数收到的函数名打印为回调-参数,而不是服务器端的“functionName”(在这种情况下,jquery1710807305825281143\u 1328259709467


你不能硬编码名字,每个请求都不同)

我不是在这里自称是专家,只是一个有兴趣的旁观者

从上一篇文章来看,测试线束似乎是错误的,即您的页面。困难在于-如何处理动态回调名称?我仔细研究了一下,发现了一个使用asmx Web服务和httpmodules来获取所需内容的示例

如果我是你,我会将测试页面作为一个Web服务(抱歉,我知道不是很WCF)重做,并用你自己的方法连接模块。在
JsonHttpModule
中,似乎
Write
方法正在做有趣的工作,也就是说,它将响应写入包装在一个动态回调方法签名中,它从查询字符串中提取(JQuery将把它放在这里)


不幸的是,看来你还有一点工作要做。也许有更好更快的方法,但这就是我所发现的。

正是我要说的。更准确地说,jQuery通过
回调
查询参数发送函数。他不需要在他的jQuery$.ajax对象中构建查询参数:)@Joy我明白你的意思了-我的设计太复杂了。不管怎样,我可能会把这篇文章留着。我还是学到了一些东西