Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么我的Ajax POST请求在WebApi响应之前返回错误?_Jquery_Ajax_Json_Asp.net Web Api - Fatal编程技术网

Jquery 为什么我的Ajax POST请求在WebApi响应之前返回错误?

Jquery 为什么我的Ajax POST请求在WebApi响应之前返回错误?,jquery,ajax,json,asp.net-web-api,Jquery,Ajax,Json,Asp.net Web Api,如果这个问题已经得到了回答,我表示歉意,但我已经搜索了许多相关的术语,没有任何乐趣 我有一个带有Post方法的简单WebApi控制器: [HttpPost] public string Post() { string thing = "hi"; var jSonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); var output = jSonSerializer.Serial

如果这个问题已经得到了回答,我表示歉意,但我已经搜索了许多相关的术语,没有任何乐趣

我有一个带有Post方法的简单WebApi控制器:

[HttpPost]
public string Post()
{
    string thing = "hi";
    var jSonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    var output = jSonSerializer.Serialize(thing);
    return output;
}
我还有一个对上述Post方法的Ajax调用,通过单击按钮执行:

$.ajax({
    type: 'POST',
    url: 'http://localhost:58492/WebApi/api/PhysicalActivity',
    dataType: 'json',
    success: function (response) {
        console.dir(response.status);
    },
    error: function (thing) {
        alert("Ajax call to PhysicalActivity/Post failed");
    }
});
这个请求肯定是通过WebApi post方法实现的,因为我有一个断点集,它被一致地命中

但是,它没有收到成功的答复。正在命中Ajax错误回调

事实上,我还在Ajax错误回调中设置了一个断点,该断点在post方法断点之前被命中-因此Ajax调用在post方法被输入之前就出错了

我尝试过从Post方法返回一个字符串,并在Ajax调用中设置dataType='text',但这没有什么区别

我还尝试从Post方法显式返回HttpResponseMessage对象。这没什么区别

当我在Ajax请求中将contentType设置为“text/plain”,将数据设置为“hello”时,调用甚至没有到达Post方法,我得到了405响应(“不允许使用方法”)


我做错了什么???

尝试使用jsonp进行跨源ajax调用

您可以提供更多关于什么/为什么是跨源代码的解释,以及JSONP如何帮助解决这个问题。这只不过是一个“RTFM”回答。尝试在浏览器中使用(F12)开发人员工具并检查“url”,可能是路由覆盖了它。您是否通过在返回语句上创建断点来检查Post方法是否返回了某些内容