ajax request payload 有效载荷(Payload)

阅读更多
http://blog.csdn.net/yiifaa/article/details/73468001

[url]http://www.cnblogs.com/Benoly/p/4341272.html
[/url]

var data =  {
    name : 'yiifaa'
};
//  提交数据
$.ajax('app/', {
    method:'POST',
    //  将数据编码为表单模式
    contentType:'application/x-www-form-urlencoded; charset=UTF-8',
    //  数据必须为JS对象,不可是字符串
    data : data,
    success : function(datas) {
        console.log(datas)
    }
})

而Payload提交方式的实现如下:

$.ajax('app/', {
    //  据我测试了多次,payload只能用于POST方式
    method:'POST',
    //  数据类型必须为application/x-www-form-urlencoded之外的类型
    contentType:'application/json;charset=utf-8', charset=UTF-8',
    //  数据必须转换为字符串
    data : JSON.stringify(data),
    success : function(datas) {
        console.log(datas)
    }
})

结论

Form提交与Payload虽然都能提交数据,但它们的应用场景差异较大,需要准确理解它们的差异才是应用得当的前提。

-------------jsonp 跨域 jquery保存session

$.ajax({
url: 'http://localhost:8081/sms/authority/SignIn',
type: 'POST',
data: JSON.stringify({account: username, password: password}),
dataType: 'jsonp',
contentType:'application/json;charset=utf-8',
processData: false,
crossDomain: false,
xhrFields: {
withCredentials: true
},
success: function(result){
if(result.success && result.result){

location.href= 'index.html';
}
},
error: function(error){
var errorResult = error.responseJSON;
var errorText = '用户名或密码不正确';
if(errorResult.result.message){
errorText = errorResult.result.message;
}
$('#errorMsg').html(errorText);
}
});

你可能感兴趣的:(ajax)