为什么无法在Jquery / ajax调用RESTful服务中获得成功回调?

时间:2016-02-16 04:38:38

标签: javascript jquery asp.net ajax rest

function GET() {
        jQuery.support.cors = true;
        $.ajax({
            url: 'http://localhost:32253/api/UserDetail/GetRoleDetails',
            type: 'GET',
            async:true,
            contentType: "application/json",
            dataType: 'json',
            xhrFields: {
                withCredentials: true
            },
            error: function (xhr, status)
            {
                alert(status);
            },
            success: function (data) {
                alert("Success!");
            }

        });
        return false;
    }

我是ajax的新手,我尝试了一个对我的服务方法的ajax调用,返回value.But成功的回调函数永远不会被触发。我只会得到错误。可能是什么原因? 我尝试将dataType用于jsonp以及Stackoverflow中有关此问题的其他类似解决方案。没有成功。我的服务器响应为200 oK。

2 个答案:

答案 0 :(得分:1)

试试这段代码

$.ajax({
        type: "POST",
        url: URL,
        async: true,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        jsonp: "onJSONPLoad",
        jsonpCallback: "newarticlescallback",
        crossDomain: "false",
        beforeSend: function (xhr) {
        },
        error: function (request, status, error) {
            console.log("Error In Web Service...." + request.responseText);
            return false;
        },
        success: ajax_success,
        complete: function (xhr, status) {
        }
    });

创建功能" ajax_success"在你的页面 如下所示

function ajax_success(parsedJSON) { //you code here 
}

答案 1 :(得分:0)

这可能会对你有所帮助 试试这段代码

 $.ajax({
        type: "POST",
        url: URL,
        async: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        jsonp: "onJSONPLoad",
        jsonpCallback: "newarticlescallback",
        crossDomain: "false",
        beforeSend: function (xhr) {
        },
        error: function (request, status, error) {
            console.log("Error In Web Service...." + request.responseText);
            return false;
        },
        success: function (data) {
            Result = data;
        },
        complete: function (xhr, status) {
        }
    });