1

嘿,我想弄清楚为什么我无法从我的网络服务中获取任何返回的 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",

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

我可能做错了什么?

4

1 回答 1

0

ERROR: 500 Internal Server Error 表示服务中有一些内部异常。由于 CustomError ON 和 customError 模块返回在 IIS 中配置的 HTML 页面,您可能会获取 HTML 内容。CustomError 模块会将 Content-type 更改为 text/HTML。

HTH,阿米特

于 2013-02-04T10:04:42.383 回答