Javascript Ajax success()可以处理两种类型的返回吗?
使用JavaScript/Jquery/jqGrid在C#ASP.NET项目中工作 新任务是有一个页面i)接受Excel输入文件,ii)使用列ID查找其他信息,以及iii)使用输入文件中的一些列和数据库返回的所有列生成新的Excel文件 我已经完成了,但只想做更多的错误处理。在存储过程中,如果一切正常,它将返回一个数据表(或者在Oracle术语中,返回一个游标)。如果有错误,我添加了一个catch块并返回一条错误消息 我修改了AJAX调用。除了将数据类型添加为“text”之外,我希望返回XMLJavascript Ajax success()可以处理两种类型的返回吗?,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,使用JavaScript/Jquery/jqGrid在C#ASP.NET项目中工作 新任务是有一个页面i)接受Excel输入文件,ii)使用列ID查找其他信息,以及iii)使用输入文件中的一些列和数据库返回的所有列生成新的Excel文件 我已经完成了,但只想做更多的错误处理。在存储过程中,如果一切正常,它将返回一个数据表(或者在Oracle术语中,返回一个游标)。如果有错误,我添加了一个catch块并返回一条错误消息 我修改了AJAX调用。除了将数据类型添加为“text”之外,我希望返回XML
$.ajax({
// POST
// URL: url to call that stored procedure
dataType: text,
success: function (response) {
// now the response is XML (don't know why...
// specify dataType as 'text', but get XML...)
// If response contains 'string' tag, report error.
},
failure: ...
})
这是我过去常做的事。我没有指定数据类型,但不知怎的,它是有效的
$.ajax({
// POST
// ... rest is same but without the dataType
success: function (response) {
Download( response )
// The file is already and placed in Download directory.
// Call 'Download()' will actually make the download happen
// But here response is just a path to the Download directory +
// download file name.
下载()是:
您可以检查响应是否为xml(如果正在解析),如果不是,则可以检查响应是否为字符串。您可以使用此函数检查响应是否为xml:
function isXML(xml){
try {
xmlDoc = $.parseXML(xml); //is valid XML
return true;
} catch (err) {
// was not XML
return false;
}
}
$.ajax({
// POST
// ... rest is same but without the dataType
success: function (response) {
if(isXML(response){
Download( response )
}
else{
//report as error
}
您可以检查响应是否为xml(如果正在解析),如果不是,则可以检查响应是否为字符串。您可以使用此函数检查响应是否为xml:
function isXML(xml){
try {
xmlDoc = $.parseXML(xml); //is valid XML
return true;
} catch (err) {
// was not XML
return false;
}
}
$.ajax({
// POST
// ... rest is same but without the dataType
success: function (response) {
if(isXML(response){
Download( response )
}
else{
//report as error
}
非常感谢。你给我指出了正确的方向。对于正在阅读本文的读者,请参见我问题的编辑部分。我要补充几点,谢谢。你给我指出了正确的方向。对于正在阅读本文的读者,请参见我问题的编辑部分。我必须补充几点。
function isXML(xml){
try {
xmlDoc = $.parseXML(xml); //is valid XML
return true;
} catch (err) {
// was not XML
return false;
}
}
$.ajax({
// POST
// ... rest is same but without the dataType
success: function (response) {
if(isXML(response){
Download( response )
}
else{
//report as error
}