从 api 返回时,json 对象缺少根元素

我尝试在apiusing 中调用一个方法jquery,但我收到一条错误消息


XML 解析错误:找不到根元素


API方法:


[HttpGet]

public async Task<IActionResult> GetJob(int id)

{

    var result = await this.DB.GetJob(id);


    return Ok(result);

}

查询:


function InvokeAjax (controller, action, method, query = {}, body = {}, callback) {

    let url = "/Secure/" + controller + "/" + action;


    if (query.length > 0) {

        let tmp;

        let i = 1;


        query.each(function (index) {

            if (i === 1) {

                tmp = "?";

            }

            else {

                tmp += "&";

            }


            tmp = this.key + "=" + this.value;


            i++;

        });


        url += tmp;

    }


    $.ajax({

        type: method.toUpperCase(),

        url: url,

        data: JSON.stringify(body),

        dataType: "JSON",

        contentType: "application/json",

        success: function (result) {

            if (callback !== null && callback !== "undefined") {

                callback(result);

            }

        }

    });

}

错误说xml解析错误,这是问题吗?我已定义JSON为返回类型,所以我不知道。


长风秋雁
浏览 271回答 2
2回答

胡子哥哥

JSON 绝对不是 xml。但我认为dataType是区分大小写的。或者更好地使用$.getJSON:https&nbsp;:&nbsp;//api.jquery.com/jquery.getjson/无论如何,您应该检查您的 ajax 调用,因为它看起来您没有正确使用参数。

慕森王

您忘记content-type: application/json在 API 端设置标头。我假设错误在客户端。你应该使用JSON()而不是OK()
打开App,查看更多内容
随时随地看视频慕课网APP