将 json 对象数组 POST 到 IHttpHandler
我正在构造一个像这样的对象数组:
var postData = [];
$.each(selectedFields, function (index, value) {
var testTitle = 'testing ' + index;
postData.push({title: testTitle, title2 : testTitle});
}
然后我像这样发布它(请注意,我已经尝试了许多不同的方法):
$.post('SaveTitlesHandler.ashx', { form : postData }, function (data) {
console.log(data);
});
然后我尝试在处理程序中获取数据...
public class SaveTitlesHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string json = context.Request.Form.ToString();
}
}
我似乎无法从中获取正确的json的请求。有人知道吗?
干杯。
东德
Im constructing an array of objects like this:
var postData = [];
$.each(selectedFields, function (index, value) {
var testTitle = 'testing ' + index;
postData.push({title: testTitle, title2 : testTitle});
}
I then post it like this(note that i have tried a number of different aproaches):
$.post('SaveTitlesHandler.ashx', { form : postData }, function (data) {
console.log(data);
});
I then try to get the data in a handler...
public class SaveTitlesHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string json = context.Request.Form.ToString();
}
}
I cant seem to get proper json out of the request. Anyone got any idea?
cheers.
twD
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您没有发布 JSON。您正在使用
application/x-www-form-urlencoded
。因此,在处理程序内部,您可以访问各个值:如果您想 POST 真正的 JSON,您需要这样:
然后在处理程序内部从请求输入流读取:
JSON.stringify
方法将 javascript 对象转换为一个 JSON 字符串,它是现代浏览器内置的本机方法。如果您想支持旧版浏览器,您可能还需要包含 json2.js。You are not posting JSON. You are using
application/x-www-form-urlencoded
. So inside the handler you could access individual values:If you wanted to POST real JSON you need this:
and then inside the handler read from the request input stream:
The
JSON.stringify
method converts a javascript object into a JSON string and it is a native method built-in modern browsers. You might also need to include json2.js if you want to support older browsers.