Я работаю с JSP и ajax, используя jquery в моем примере проекта. Я отправляю данные json от клиента к серверу, и в ответ я получаю еще один json от сервера. Все работает нормально, если я использую метод get. Если я использую 'post', тогда я получаю 500 Internal server error. Мой образец стороне клиента кодПолучение 500 внутренних серверов при использовании «post» в ajax-запросе
jQuery.ajax({
url : "server.jsp",
type : "POST",
data:{req_data:JSON.stringify({"user_name":UserName,"url":URL})},
async : false,
dataType: 'json',
contentType : "application/json; charset=utf-8",
success : function(data) {
console.log(data);
},
error : function() {
console.log("error");
}
И мой пример JSP на стороне сервера код
<%@ page import="java.io.PrintWriter"%>
<%@ page import="org.json.simple.JSONObject"%>
<%@ page import="org.json.simple.JSONValue"%>
request.setCharacterEncoding("utf8");
response.setContentType("application/json");
PrintWriter outt = response.getWriter();
JSONObject reqjsonObj = (JSONObject)JSONValue.parse(request.getParameter("req_data"));
String uname=reqjsonObj.get("user_name").toString();
String url=reqjsonObj.get("url").toString();
JSONObject resjsonObj = new JSONObject();
resjsonObj.put("name",uname);
resjsonObj.put("url",url);
out.print(resjsonObj);
out.flush();
out.close();
Все работает отлично, если я использую «GET» вместо «POST» в запросе Ajax. Какова возможная ошибка, которую я здесь делаю?
Непрерывно отлаживать его :(... Одна вещь, которую я наблюдал. При отправке через «get» в сервере request.getParameter («req_data») есть данные, но при отправке через «сообщение» он равен нулю. Почему? Любая идея? – user51854
попробуйте удалить «contentType:» application/json; charset = utf-8 »,' –
Спасибо @ ᾠῗᵲ ᄐ ᶌ. – user51854