如何在ashx中读取JSONP
我正在尝试处理 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不确定您使用的是哪个 JSONP,但是使用 MooTools
Request.JSON
,数据在context.Request.Form
中传递:因此您可以访问每个表单代码中的元素:
基于此,我相信您必须使用表单元素自己组装对象。
I am not sure which JSONP you are using, but using MooTools
Request.JSON
, the data is delivered incontext.Request.Form
:So you can access each of the form elements in code:
Based on this, I believe that you will have to assemble the object yourself using the form elements.
要回答您的问题,是的,您需要使用 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.