Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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
Javascript Ajax success()可以处理两种类型的返回吗?_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript Ajax success()可以处理两种类型的返回吗?

Javascript 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

使用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
        }