Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 从jQuery.Post获取响应内容类型_Ajax_Jquery_Content Type - Fatal编程技术网

Ajax 从jQuery.Post获取响应内容类型

Ajax 从jQuery.Post获取响应内容类型,ajax,jquery,content-type,Ajax,Jquery,Content Type,使用jQuery.Post来发现响应的内容类型有什么方法吗 我在模式窗口中有一个表单,其想法是,如果表单无效,则发送一个HTML代码段,并用此代码段替换模式的内容。如果它有效,我希望使用一个简单字符串,其中包含flash通知的内容(此处使用的类型) 目前,我正在测试返回的字符串是否以“success”开头,如果是,则使用字符串的其余部分作为flash通知。这显然是一个相当粗糙的解决方案,我真的不喜欢它 理想情况下,我希望能够对响应设置一个条件,如果是“text/html”,则插入代码段;如果是“

使用jQuery.Post来发现响应的内容类型有什么方法吗

我在模式窗口中有一个表单,其想法是,如果表单无效,则发送一个HTML代码段,并用此代码段替换模式的内容。如果它有效,我希望使用一个简单字符串,其中包含flash通知的内容(此处使用的类型)

目前,我正在测试返回的字符串是否以“success”开头,如果是,则使用字符串的其余部分作为flash通知。这显然是一个相当粗糙的解决方案,我真的不喜欢它

理想情况下,我希望能够对响应设置一个条件,如果是“text/html”,则插入代码段;如果是“application/JSON”,则我不仅可以为帮助程序发送消息,还可以发送其他数据(消息、id、更具体的成功/失败消息类型等)这将有助于将来扩展到其他表单。

jQuery已经可以了(如果调用中没有指定
type
)。例如:。您可以这样做:

$.post("myPage.html", { name: "value" }, function(data) {
  if(typeof(data) === "string") {
    //html
  } else {
    //JSON
  }
});
或者,始终传回JSON,并将通知消息作为其属性,例如:

$.post("myPage.html", { name: "value" }, function(data) {
  if(data.notification) {
    showMessage(data.notification);
  } else {
    //use the data object
  }
});