我创建了一个POST WebApi,我可以调用如下:
<script type="text/javascript">
var TheData = {
Number: "7181112222",
Username: "myusername",
Password: "mypassword",
enable: "True",
};
$.ajax({
type: "POST",
cache: "False",
url: "http://www.######.com/someapi/api/SettingsConfig",
data: TheData
}).done(function (msg) {
alert(msg);
}).error(function (msg) {
alert('Fail');
});
</script>
运行此代码时,我会收到“成功”的提示。
当我在fiddler中运行此代码时... yipes !!
POST http://www.######.com/someapi/api/SettingsConfig 数= 6464482035&安培;用户名= metheuser&安培;密码= 9999&安培;启用=真
为什么不一致!
答案 0 :(得分:1)
在javascript片段中,您发布了一个JSON对象,而在fiddler示例中,它是一个x-www-form-urlencoded字符串。
您是否尝试在请求中加入Content-Type
标题:
application/x-www-form-urlencoded
并发布字符串application/json
并发布JSON对象您的控制器的方法签名是什么样的 - 您是否完全按照第二个示例中的方法进行操作,或者在此之前是否出错?
404在这种情况下实际上意味着什么 - 未找到'数字'/将数据发布为空?
答案 1 :(得分:0)
这种行为有两个可能的原因:
Content-Type
应设置为application/json
;