Cha*_*hao 3 ajax jquery content-type
有没有办法使用jQuery.Post来发现响应的内容类型?
我在一个模态窗口中有一个表单,其想法是如果表单无效,则会发送一个HTML片段,并使用此片段替换该模式的内容,如果它有效,我想要一个包含内容的简单字符串闪光通知(此处使用的类型为SO).
目前我正在测试返回的字符串是否以"success"开头,如果是,则使用字符串的其余部分作为flash通知.这显然是一个非常糟糕的解决方案,我真的不喜欢它.
理想情况下,我希望能够对响应有条件,如果它是"text/html"然后插入片段,如果它是"application/JSON"那么我不仅可以为帮助者发送消息,但可能其他数据(消息,id,更具体的成功/失败消息类型等)将有助于将来扩展到其他形式.
jQuery已经根据内容类型标题检测并转换响应(如果type
在$.ajax()
调用中没有指定).例如:如果它"json"
在content-type标头中找到,它将是一个对象.你可以这样做:
$.post("myPage.html", { name: "value" }, function(data) {
if(typeof(data) === "string") {
//html
} else {
//JSON
}
});
Run Code Online (Sandbox Code Playgroud)
或者,始终传回JSON,并将通知消息作为属性,例如:
$.post("myPage.html", { name: "value" }, function(data) {
if(data.notification) {
showMessage(data.notification);
} else {
//use the data object
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13180 次 |
最近记录: |