我有两个参数(categoryName和categoryDescription),我需要使用JSON传递给Web服务。我发现传递categoryName的语法,但是无法获得传递两个参数的正确语法。这是代码。
<script src="js/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#hbtnCreateCategory').click(function(event) {
$.ajax({
type: "POST",
url: "lwsServiceData.asmx/CreateHelpDeskCategory",
data: "{'categoryName': '" + $('#categoryName').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
AjaxSucceeded(msg);
},
error: AjaxFailed
});
});
function AjaxSucceeded(result) {
alert(result.d);
$('#result').val = result.d;
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
});
</script>
提前致谢。
答案 0 :(得分:2)
试试这个:
数据:“{categoryName:'”+ $('#categoryName')。val()+“',categoryDescription:'”+ $('#categoryDescription')。val()+“'}”,< / p>
不要忘记更新CreateHelpDeskCategory以接受这两个参数。
要添加第三个参数,请使用以下命令:
数据:“{categoryName:'”+ + $('#categoryName')。val()+“',categoryDescription:'”+ + $('#categoryDescription')。val()+“',modifiedBy :'jsmith'}“,
答案 1 :(得分:1)
你应该使用
data: {categoryName: JSON.stringify($('#categoryName').val()),
categoryDescription: JSON.stringify($('#categoryDescription').val())}
作为$.ajax
方法的参数。函数JSON.stringify
可用于将任何数据序列化为JSON(可从http://www.json.org/js.html下载)。手动序列化至少是因为应该序列化的字符串包含必须转义的字符(如“”或“\”请参阅http://www.json.org/)。
还要看一下我之前回答的另一个问题:How do I build a JSON object to send to an AJAX WebService?
答案 2 :(得分:0)
data: "{'categoryName': '" + $('#categoryName').val() + "', 'categoryDescription': 'some description'}"
如果它需要是动态的:
data: "{'categoryName': '" + $('#categoryName').val() + "', 'categoryDescription': '" + $('#categoryDescription').val() + "'}"
答案 3 :(得分:0)