我正在尝试将带有JavaScript的视图中的2个参数发布到Controler,但我收到此错误。不知道为什么..
[IS_HOME]/repository/components/lib
transfer.js
import java.awt.color.ColorSpace;
import java.util.Arrays;
public class CIEXYZ {
private final static float[] RGB = new float[] {255.0f, 255.0f, 255.0f};
private final static ColorSpace CIEXYZ = ColorSpace.getInstance(ColorSpace.CS_CIEXYZ);
public static void main(String[] args) {
System.out.println("RGB: " + Arrays.toString(RGB));
System.out.println("CIEXYZ: " + Arrays.toString(CIEXYZ.fromRGB(RGB)));
}
}
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
$(document).ready(function () {
$("#transferPlayerButton").click(function () {
控制器
var playerId = document.getElementById("id_player").value;
var teamId = document.getElementById("id_team").value;
$.ajax({
type: 'post',
url: '/Player/TransferPlayer',
data:
{
playerId: playerId,
newTeamId: teamId
},
contentType: 'application/json;charset=utf-8',
dataType: 'json',
success: function (data) {
alert("Success!");
}
});
});
这是我的看法。我已经将对象映射到数据库obj,但我想知道为什么我得到这个500错误。需要一些帮助。我是mvc / javascript的新手
});
答案 0 :(得分:0)
在AJAX调用中,传递数据如下:
data: JSON.stringify({ playerId: playerId, newTeamId: teamId }),
按原样发布数据时,它看起来像这样:
playerId=1&newTeamId=2
但在您的AJAX设置中,contentType
设置为' application / json; charset = utf-8'这意味着数据应以JSON格式传递。因为数据没有以JSON格式传递,所以MVC模型绑定器无法完成它的工作并从请求体获取数据(因为它认为由于{存在JSON数据) {1}})。
当您使用JSON.stringify时,数据将在请求正文中以这样的方式传递:
contentType