如何在ashx中读取JSONP

发布于 2024-12-26 16:14:32 字数 894 浏览 0 评论 0原文

我正在尝试处理 JSONP 请求服务器端以进行表单提交,即。

var myJSONP = new Request.JSONP({
        url: 'http://mysite.../handlers/FormHandler.ashx',
        callbackKey: 'jsoncallback',
        data: {
            partTag: 'mtvo',
            iod: 'hlPrice',
            viewType: 'json',
            results: '100',
            query: 'ipod'
        },
        onRequest: function(url){
            // etc
        },
        onComplete: function(data){
            // etc
        }
    }).send();


 public class FormHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        string json = ??
        JObject j = JObject.Parse(json);


        context.Response.ContentType = "text/json";
        context.Response.Write("Hello World");
    }

我不知道如何在 ashx ie 中反序列化。我使用 Json.Net 但如何从上下文中获取 我是否必须使用 context.Request 单独检索值,或者我可以直接从上下文中解码吗?

谢谢

I'm trying to handle a JSONP request server side for a form submission ie.

var myJSONP = new Request.JSONP({
        url: 'http://mysite.../handlers/FormHandler.ashx',
        callbackKey: 'jsoncallback',
        data: {
            partTag: 'mtvo',
            iod: 'hlPrice',
            viewType: 'json',
            results: '100',
            query: 'ipod'
        },
        onRequest: function(url){
            // etc
        },
        onComplete: function(data){
            // etc
        }
    }).send();


 public class FormHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        string json = ??
        JObject j = JObject.Parse(json);


        context.Response.ContentType = "text/json";
        context.Response.Write("Hello World");
    }

I'm not sure how to deserialize in the ashx ie. I use Json.Net but how to get from context
Do I have to use context.Request to retrieve values individually or can I decode directly from context?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思念满溢 2025-01-02 16:14:32

我不确定您使用的是哪个 JSONP,但是使用 MooTools Request.JSON,数据在 context.Request.Form 中传递:

?context.Request.Form.ToString()
"partTag=mtvo&iod=hlPrice&viewType=json&results=100&query=ipod"

因此您可以访问每个表单代码中的元素:

?context.Request.Form["partTag"]
"mtvo"

基于此,我相信您必须使用表单元素自己组装对象。

I am not sure which JSONP you are using, but using MooTools Request.JSON, the data is delivered in context.Request.Form:

?context.Request.Form.ToString()
"partTag=mtvo&iod=hlPrice&viewType=json&results=100&query=ipod"

So you can access each of the form elements in code:

?context.Request.Form["partTag"]
"mtvo"

Based on this, I believe that you will have to assemble the object yourself using the form elements.

2025-01-02 16:14:32

要回答您的问题,是的,您需要使用 Context.Request 从客户端读取数据。

顺便提一句。如果您可以使用 RESTful Web 服务而不是实现自己的 http 处理程序,那么会容易得多,RESTful Web 服务的 JSON 序列化和反序列化由 WCF 框架处理。

To answer your question, yes, you need to use Context.Request to read the data from your client side.

BTW. if you can use RESTful web service instead of implement your own http handler, it will be much easier, RESTful web service which JSON serialize and deserialize is handled by the WCF framework.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文