1

我有一个如下的网络方法

    public HttpResponseMessage PostDeviceControl(DeviceAccessRequest deviceAccessRequest)
    {

        var deviceAccessResponse = new DeviceAccessResponse(deviceAccessRequest.RequestId)
            {
                Status = "OK"
            };
        var response = Request.CreateResponse<DeviceAccessResponse>(HttpStatusCode.OK, deviceAccessResponse);
        return response;
    }

这就是我从 C# 应用程序中使用它的方式,而且效果很好

        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri("http://localhost:55208/");

            var request = new DeviceAccessRequest
            {
                RequestId = Guid.NewGuid().ToString(),
                DeviceId = "ACU/B2/01/R1",
                AccessType ="Unlock",
                LoginId = "tester",
                Password = "tester" ,                    
            };
            var response = client.PostAsJsonAsync("api/accesspanel", request).Result;
            if (response.IsSuccessStatusCode)
            {
                var deviceAccessResponse = response.Content.ReadAsAsync<DeviceAccessResponse>().Result;

            }
        }

这是我的jQuery片段

var request = {
    RequestId: "123",
    DeviceId: "ACU/B2/01/R1",
    AccessType: "Unlock",
    LoginId: "tester",
    Password: "tester"
};
alert(JSON.stringify(request));
$.ajax({
    url: 'http://localhost:55208/api/accesspanel',
    type: 'POST',
    data: JSON.stringify(request),
    contentType: "application/json;charset=utf-8",
    success: function (data) {
        alert(JSON.stringify(data));
    },
    error: function (x, y, z) {
        alert(x + '\n' + y + '\n' + z);
    }
});

我在我的 web api 方法中设置了一个断点,但它没有中断。并且我的 ajax() 的错误部分被调用。

我究竟做错了什么?

4

0 回答 0