ajax和getjson区别,jQuery中$ .getJSON()和$ .ajax()之间的区别

本文详细探讨了在jQuery中如何使用AJAX进行POST请求到MVC控制器操作,指出不需要特别指定content-type,除非调用ASP.NET AJAX的ScriptServices或页面方法。内容类型默认的"application/x-www-form-urlencoded"适用于MVC。示例代码展示了如何正确传递JSON数据并处理返回的JSON响应。
摘要由CSDN通过智能技术生成

Dave Ward..

35

内容类型

您无需在调用MVC控制器操作时指定该内容类型.只有在调用ASP.NET AJAX"ScriptServices"和页面方法时才需要特殊的"application/json; charset = utf-8"内容类型.jQuery的默认contentType"application/x-www-form-urlencoded"适用于请求MVC控制器操作.

数据

你拥有的数据是正确的.通过传递jQuery一个JSON对象,它将在POST数据中被序列化为patientID = 1.这个标准形式是MVC对参数的期望.

当您使用ASP.NET AJAX服务时,您只需将参数括在引号中,如"{'patientID':1}".他们希望解析出代表JSON对象的单个字符串,而不是POST数据中的各个变量.

JSON

在这种特定情况下,这不是问题,但是养成在JSON对象中引用任何字符串键或值的习惯是个好主意.如果您无意中使用JavaScript保留关键字作为对象中的键或值,而不引用它,则会遇到令人困惑的调试问题.

相反,您不必引用数值或布尔值.直接在对象中使用它们总是安全的.

因此,假设您确实想要POST而不是GET,那么$ .ajax()调用可能如下所示:

$.ajax({

type: 'POST',

url: '/Services/GetPatient',

data: { 'patientID' : 1 },

dataType: 'json',

success: function(jsonData) {

alert(jsonData);

},

error: function() {

alert('Error loading PatientID=' + id);

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值