【问题标题】:How do I get jqxhr.responseText from HttpResponseMessage?如何从 HttpResponseMessage 获取 jqxhr.responseText?
【发布时间】:2023-03-08 18:22:01
【问题描述】:

这是我的服务器端代码

        var response = new HttpResponseMessage
        {
            Content = new StringContent("FAIL FAIL"),
            StatusCode = HttpStatusCode.InternalServerError,
        };

        response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
        return Task<HttpResponseMessage>.Factory.StartNew(() => response);

这是我使用 jquery 的客户端代码

        $.ajax({
            type: 'POST',
            url: 'someurl',
            data: somevalues,
            success: function (data) {
                console.log(data);
            },
            error: function (jqxhr) {
                console.log(jqxhr);
            }
        });

但是当我使用 firebug 检查时,我的 jqxhr.responseText 是“”。 如何找回“FAIL FAIL”?

【问题讨论】:

    标签: javascript jquery asp.net-mvc asp.net-web-api


    【解决方案1】:

    试试这样:

    var ajaxReult =   $.ajax({
            type: 'POST',
            url: 'someurl',
            data: somevalues,
            success: function (data) {
               // console.log(data);
            },
            error: function (jqxhr) {
               // console.log(jqxhr);
            }
        }).responseText;
    console.log(ajaxReult);
    

    【讨论】:

    • 你的网址是不是跨域的??
    • 是的,它的跨域..刚刚发现了一些东西..如果我使用firefox调试,我得到null,但如果使用IE,它显示..
    • 不能在跨域服务中使用AJAX调用POST类型。跨域只能进行 GET 调用,但它也应该遵循 url 中的 jquery 回调机制。否则应将数据类型添加到 jsonp。希望阅读本文对您有所帮助:api.jquery.com/jQuery.ajax
    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2015-08-18
    • 2019-02-21
    • 2013-04-02
    相关资源
    最近更新 更多