如何检查从服务器收到的响应是html还是json,并在extjs中按名称找到html表单?

amrnrhlw  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(201)

我有一个extjs应用程序,它向后端发送 AJAX 请求。如果是活动会话,后端将发送json格式的对象,如果会话是非活动的,则发送html页面
我想确定在响应中接收到的是json还是html类型,并相应地执行进一步的操作。
下面是示例代码:

Ext.Ajax.Request({
   url: "localhost",
   scope: this,
   method: "POST"
   success: 'successongettingdata'
})

successongettingdata : function(connection,response) {
   //check for response if html or json and do actions accordingly
   //how to extract from response that if it is json or html or string
   //if it is html, get form by its name
}
qaxu7uf2

qaxu7uf21#

参考@incutonez,您可以从返回的请求中检查Content-Type头。
第一个
或者,如果Content-Type错误,您可以尝试对返回的数据进行解码。

successongettingdata : function(connection, response) {
   try {
       let decodeResponse = Ext.decode(connection.responseText);
       //is json
   } catch (e) {
       //isn't json
   }
}

相关问题