【发布时间】:2016-02-04 05:13:35
【问题描述】:
我的 JavaScript 无法联系 HttpPost 服务时遇到问题。我可以使用 chrome 的“Advance Rest Client Application”访问相同的签名。但是,当我在 Chrome 的控制台中运行我的代码时,我无法访问该服务。有什么想法吗?我从一个签名和另一个签名中遗漏了什么?如果您需要更多信息,请告诉我。
JS AJAX 请求(卡在 Pending 状态)
$.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"
};
}
高级 Rest 客户端应用程序(成功返回 {})
http://local/r/GetSettings
Content-Type: application/x-www-form-urlencoded
Payload::: [{"SourceId":7,"DataType":0},{"SourceId":5,"DataType":1}]
【问题讨论】:
-
首先是控制台,它的输出是什么?
-
这是
method不是输入,在type: 'POST'。见Url -
@BCoder — type 是方法的别名
标签: javascript jquery ajax rest http-post