【发布时间】:2012-03-29 11:50:19
【问题描述】:
我在为 .NET WebServices 制作动态 AJAX 表单提交方法时遇到了困难。
这个想法是发送一个从表单中的所有输入动态构建的请求。然后让服务器响应 JSON。
在提交表单时调用,它填充一个以索引为输入字段名称和值作为值的数组:
var params = [];
for( var i in inputs )
{
if( inputs[i].type == 'text' || inputs[i].type == 'password' )
{
params[inputs[i].name] = inputs[i].value;
}
}
发送 AJAX 请求时,我会运行一个循环来生成请求正文:
var l = 0;
for( var i in parameters )
{
this.parameters += ( l > 0 ? '&' : '') + i + '=' + parameters[i];
l++;
}
结果如下:
foo=bar&lol=haha
问题是脚本服务由于装饰器的原因只接受 JSON 作为请求体:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
因为我希望它返回 JSON 字符串而不是 XML。
有简单的解决办法吗?
【问题讨论】:
标签: c# .net ajax json web-services