我正在尝试将一组对象发布到API端点(onClick)
,但我一直收到 400 Bad Request 错误。
我不完全确定我在这里做错了什么,并且希望能帮助解决这个问题。
我的代码如下:
$('#test-post').on('click', function() {
var postData = [
{
"artist": "Artist Name",
"title": "Artist Title",
"genre": "string",
"duration": "2:05",
"url": "Artist url",
},
{
"artist": "Artist Name",
"title": "Artist Title",
"genre": "string",
"duration": "2:05",
"url": "Artist url",
}
];
$.ajax({
url: 'http://localhost:8000/api/endpoint',
type: 'POST',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify(postData),
success: function(data) {
console.log('Data has been posted');
console.log(data);
},
error: function(err) {
console.log(err.statusText);
}
});
});
非常感谢任何帮助。
谢谢
答案 0 :(得分:0)
这是工作代码。似乎缺少JQuery。
$('#test-post').on('click', function() {
var postData = [
{
"artist": "Artist Name",
"title": "Artist Title",
"genre": "string",
"duration": "2:05",
"url": "Artist url",
},
{
"artist": "Artist Name",
"title": "Artist Title",
"genre": "string",
"duration": "2:05",
"url": "Artist url",
}
];
$.ajax({
url: 'http://localhost:8000/api/endpoint',
type: 'POST',
dataType: 'json',
data: {'params': JSON.stringify(postData)},
success: function(data) {
console.log('Data has been posted');
console.log(data);
},
error: function(err) {
console.log("Error is: " + err.statusText);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test-post">Click me</div>
端点URL具有此简单代码。这很有效。
<?php echo $_POST['params']; ?>
答案 1 :(得分:0)
如果您使用的是ASP .Net MVC
请检查您是否使用正确的过滤器[HttpPost]
用于POST请求,默认情况下会将其视为Get
请求
[HttpPost]
public JsonResult endpoint()