你好;我有一个关于调用wcf服务的问题。如何填充数据数组键/值对?如何通过jquery高效发送协作?
$('#btn').click(function () {
var val = [];
var names = [];
$('#cblist :checkbox:checked').each(function (i) {
val[i] = $(this).val();
names[i] = $(this).attr('name');
});
});
<div id="cblist">"Dynamically filling"</div>
<br />
<input type="button" class="btn" value="AddParameter" id="btn" name="btnDelete" />
我不喜欢以下方法(但下面的代码不起作用)你喜欢这个吗?如果您愿意,我该如何编写正确的编码?
for (var i in names,val) data.push({ name: names[i], value: val[i] });
$.ajax({
url: "echo/json/",
data: data,
dataType: "json",
traditional: true,
success: function(msg){alert(msg)}
});
但我不能:我不喜欢为每个数组项调用wcf服务。我会写两种wvf服务:
首先是:
Service1.svc/AddParameter:
public void AddParameters(int id, params string[] names, params string[] values)
{
//dosomething
}
第二个是:
Service2.svc/AddParameter:
public void AddParameters(int id, NameValueCollection NameswithValues)
{
//dosomething
}
概要;我想为json格式准备数据数组:data {id:1,name1:value1,name2,value2 .......... n},然后调用Service1和Service2。哪一个是有效的方法?
我的主要问题是:如何编写有效的json ajax方法,哪个ic调用Service1.svc和Service2.svc?
答案 0 :(得分:1)
试试这个
var data;
$('#cblist :checkbox:checked').each(function (i) {
data[$(this).attr('name')] = $(this).val();
});
然后只需在你的ajax调用中传递数据。