$ .AJAX Post不在JS中工作但在Advanced Rest Client中工作

时间:2016-02-04 05:13:36

标签: javascript jquery ajax rest http-post

我的JavaScript有问题可以联系HttpPost服务。我可以使用chrome的“Advance Rest Client Application”访问相同的签名。但是,当我在Chrome中使用控制台运行代码时,我无法访问该服务。有什么想法吗?从一个与另一个的签名中我错过了什么?如果您需要更多信息,请与我们联系。

JS AJAX请求(陷入待定状态)

    $.ajax({
        type: 'POST',
        url: 'http://local/r/GetSettings',
        data: '[{"SourceId":7,"DataType":0},{"SourceId":5,"DataType":1}]',
        dataType: "json",
        success: function(data){
            alert(data)
        },
        error : function (error) {
            alert("Error: " + error);
            console.log("ERROR. not working", error);
        }
    });

C#服务

    [HttpPost]
    public ActionResult GetSettings(List<Source> sources)
    {
        return new ContentResult
        {
            Content = "{}",
            ContentType = "application/json"
        };

     }

高级休息客户端应用程序(成功返回{})

    http://local/r/GetSettings
    Content-Type: application/x-www-form-urlencoded
    Payload::: [{"SourceId":7,"DataType":0},{"SourceId":5,"DataType":1}]

2 个答案:

答案 0 :(得分:0)

更改ajax请求的网址

AppContextRootName:您的应用程序上下文根

 Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=G:\mydatabase.accdb;Uid=Admin;Pwd=123;

答案 1 :(得分:0)

感谢您的回答。我发现了为什么Ajax调用没有执行的问题。我发现你可以在调试器中暂停时执行一个AJAX语句!所以不要试试!它将执行并返回和对象,但它将在网络中显示为挂起。一旦取消暂停,就会执行实际的呼叫。你应该在成功和错误中使用Alert(&#34; Hello world&#34;),一旦你取消暂停,你会看到它回来。