Jquery ajax没有命中控制器

时间:2016-01-29 12:20:35

标签: javascript jquery ajax asp.net-web-api knockout.js

我遇到了一个非常奇怪的问题。在这里。

我正在使用针对webapi控制器和服务层等的敲除js应用程序。

我有kendo网格,在编辑一行后,在页面中调用一个事件,并在事件中进行ajax调用以将数据发送到webapi控制器。

现在有趣的是,当我在.js文件中放置断点并放入F12时,控件将进入控制器,否则它就会跳过。不确定发生了什么。

ajax代码是:

$.ajax({
         url:controller,
         type:"PUT",
         data:"em",
         datatype:'json',
         success:function(result){
}
});

[HttpPut]
[OdataRoute("PutDataController")]
public async Taask<string> PutDataController(HttpRequestMessage par)
{
 //Do something
}

我试着给予异步&#39; :也是假的,但是工作

2 个答案:

答案 0 :(得分:1)

您应该向该ajax调用添加一个错误函数,以便您可以访问该异常。

var form = $("#form");
var data = form.serialize();
$.ajax({
    url: form.attr('action'),
    type: form.attr('method'),
    data: data,
    dataType: "json",
    success: function (message) {
        alert("GREAT!");
    },
    error: function (xhr, status, error) {
        alert("Error: " + xhr.responseText);
    }
});

答案 1 :(得分:0)

尝试将数据设置为对象而不是字符串:

SELECT T1.P_id as id, T2.D_id, COALESCE(T2.count , 0) AS count 
FROM
(
    SELECT DISTINCT P_id FROM Comp_prod WHERE company_id = '15'
) AS T1 
LEFT JOIN
(
    SELECT D_id, P_id, COUNT(P_id) AS count
    FROM userlogs 
    WHERE company_id = '15'
      AND date BETWEEN 'daterstart' AND 'dateend'
    GROUP BY D_id, P_id
) AS T2 ON T2.P_id = T1.P_id

使用$.ajax({ url:controller, type:"PUT", data: {myvar: "em"}, datatype:'json', success:function(result){} }); 代替data: {myvar: "em"}

相关问题