Web服务Ajax返回HTML

时间:2013-02-04 02:38:37

标签: ajax vb.net web-services streamreader

嘿所有我想弄清楚为什么我无法从我的网络服务中获取任何返回的HTML。

这是我调用WS的javascript:

function getTVGuide(whatsBeingSent) {
jQuery.support.cors = true;

$.ajax({
    crossDomain: true,
    async : true,
    type: "POST",
    url: "http://192.168.9.7/Service.asmx/getTVGuideData",
            data: '',
            contentType: "application/json",
        dataType: "json",
        success: OnSuccessCallTVGuide,
        error: OnErrorCallTVGuide
    });      
}

    function OnSuccessCallTVGuide(response) {
    console.log(response.d);
}

function OnErrorCallTVGuide(response) {
    console.log('ERROR: ' + response.status + " " + response.statusText);
}

WS就是这样:

<WebMethod()> Public Function getTVGuideData() As String
    Try
        Dim sr As StreamReader = New StreamReader("c:\tvlistings.html")
        Dim line As String = ""

        line = sr.ReadToEnd()
        sr.Close()
        Return "done"
    Catch Ex As Exception
        Return "err" 'Ex.Message
    End Try
End Function

如果我只返回“DONE”之类的内容,那就可以了。

但是,如果我尝试返回,则它不再有效。给出错误:

ERROR: 500 Internal Server Error

我尝试将AJAX中的返回值设置为:

contentType: "application/html",
dataType: "html",

以及

contentType: "application/text",
dataType: "text",

但我仍然得到同样的错误......

我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

错误:500内部服务器错误意味着服务中存在一些内部异常。由于CustomError ON和customError模块返回在IIS中配置的HTML页面,您可能会获取HTML内容。 CustomError模块将Content-type更改为text / HTML。

HTH, 阿米特