GVKun编程网logo

Spring Controller Ajax返回String(springmvc ajax返回json数据)

13

在本文中,您将会了解到关于SpringControllerAjax返回String的新资讯,同时我们还将为您解释springmvcajax返回json数据的相关在本文中,我们将带你探索SpringCo

在本文中,您将会了解到关于Spring Controller Ajax返回String的新资讯,同时我们还将为您解释springmvc ajax返回json数据的相关在本文中,我们将带你探索Spring Controller Ajax返回String的奥秘,分析springmvc ajax返回json数据的特点,并给出一些关于ajax 方式提交表单,spring mvc 的 Controller 中怎么不能返回视图、Ajax发送同步请求给Spring,通过controller处理完成后如何返回响应、AJAX向SpringMVC controller 传JSONArray并将String转换成JSONArray、ajax请求spring mvc controller,返回中文字符串显示乱码的实用技巧。

本文目录一览:

Spring Controller Ajax返回String(springmvc ajax返回json数据)

Spring Controller Ajax返回String(springmvc ajax返回json数据)

我想将Spring MVC Controller中的String返回给Ajax.
它没有按预期工作并给出错误.

我的Ajax代码:

function ajaxRequest(item) {

    $.ajax({
        type: "POST",url: "/myPage",data: {
           item: item
        },success: function (html) {

            alert(html);
        },error: function(e) {
            console.log("Error:" + e);
        }
    });

}

我的控制器:

@RequestMapping(value = "/myPage",method= RequestMethod.POST,produces="text/plain")
public @ResponseBody String myController(HttpServletRequest request) {
String myItem = request.getParameter("item");   

...

return myItem + "bla bla bla";
}

Chrome控制台结果:

POST http://localhost:8080/myPage 406 (Not Acceptable) jquery.js
Error:[object XMLHttpRequest] 

我在这里失踪了什么?

最佳答案
当您从使用@ResponseBody注释的处理程序方法返回String时,Spring将使用StringHttpMessageConverter将返回内容类型设置为text / plain.但是,您的请求没有该内容类型的Accept标头,因此Server(您的Spring应用程序)认为返回text / plain是不可接受的.

更改您的ajax以添加text / plain的Accept标头.

ajax 方式提交表单,spring mvc 的 Controller 中怎么不能返回视图

ajax 方式提交表单,spring mvc 的 Controller 中怎么不能返回视图

ajax 方式提交表单,spring mvc 的 Controller 中不能返回 ModelAndView 视图,也不能重定向,为什么呀

Ajax发送同步请求给Spring,通过controller处理完成后如何返回响应

Ajax发送同步请求给Spring,通过controller处理完成后如何返回响应

	@RequestMapping("changeState")
	public String changeState(HttpServletRequest req){
		System.out.println(req.getParameter("status"));
		String status = req.getParameter("status");
		int id = Integer.parseInt(req.getParameter("id"));
		Map<String,Object> map = new HashMap<String,Object>();
		if("0".equals(status)){
			map.put("status","1");
			map.put("id",id);
			costDao.stateChange(map);
		}else{
			map.put("status","0");
			map.put("id",id);
			costDao.stateChange(map);
		}
		return null;
	}

Controller返回值如何填写??


以下是通过Ajax发送的同步请求

function startFee(status,id) {
                var r = window.confirm("确定要启用此资费吗?资费启用后将不能修改和删除。");
                if(r){
                	var xhr = getXhr();
                	xhr.open("get","changeState.do?status="+status+"&id="+id,false);
                	xhr.onreadystatechange=function(){
                		if((xhr.readyState==4)&&(xhr.status==200)){
                		alert("4");
                		}
                	};
                	xhr.send();
                }
                document.getElementById("operate_result_info").style.display = "block";
            }

解决办法:使用PrintWrite写一个返回值,并且该Controller声明为void

AJAX向SpringMVC controller 传JSONArray并将String转换成JSONArray

AJAX向SpringMVC controller 传JSONArray并将String转换成JSONArray

http://stackoverflow.com/questions/14515785/how-to-convert-json-string-arrray-to-json-array-list


create JSONArray ([{},{},{}]) in JS

var data = [];
data.push({
		"id" : 1,"val" : $('#projectName').val()
	});
	data.push({
		"id" : 2,"val" : $('#description').val()
	});
	data.push({
		"id" : 3,"val" : $('#startdate').val()
	});
	data.push({
		"id" : 4,"val" : STATUS_NOT_START
	});
	var id = 5;
	while($("#" + id).length > 0){
		data.push({
			"id" : id,"val" : $("#" + id).val()
		});
		id++;
	}

ajax pass JSONArray String to Controller:
$.ajax({
		type : "Post",url : "createProject.html",data : "jsonArray=" + JSON.stringify(data) + "&depId=" + depId + "&groId=" + groId + "&objId=" + objId,success : function(response){
			var alertText = "Project " + $('#projectName').val() + " is successfully created! Project ID: " + response;
			adDalert("alert-success",alertText,"#alertdiv");
		},error : function(e){
			var alertText = 'Error: ' + e;
     		adDalert("alert-error","#alertdiv");
		}
	});

Controller将JSONArray String转换成JSONArray
import net.sf.json.JSONArray; JSONException; JSONObject; JSONSerializer; public class TestJson { static void parseProfilesJson(String the_json){ try { JSONArray nameArray =(JSONArray) JSONSerializer.toJSON(the_json); System.out.println(nameArray.size()); for(Object js : nameArray){ JSONObject json = (JSONObject)js; System.out.println(json.get("date")); } } catch (JSONException e) { e.printstacktrace(); } } void main(String[] args) { String s = "[{\"date\":\"2012-04-23\",\"activity\":\"gym\"},{\"date\":\"2012-04-24\",\"activity\":\"walking\"}]"; parseProfilesJson(s); } }

ajax请求spring mvc controller,返回中文字符串显示乱码

ajax请求spring mvc controller,返回中文字符串显示乱码

controller:

@RequestMapping("/checkName")

@ResponseBody

public String checkName(String puName){

.............

return "该用户名不存在";

}


ajax:

$.ajax({

type:'post',

url:'checkName',

data:{"puName":$("#puName").val()},

dataType:'text',---------------------------->必须改为json才不显示乱码

success:function(result){

alert(result);

}

}

)'

关于Spring Controller Ajax返回Stringspringmvc ajax返回json数据的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ajax 方式提交表单,spring mvc 的 Controller 中怎么不能返回视图、Ajax发送同步请求给Spring,通过controller处理完成后如何返回响应、AJAX向SpringMVC controller 传JSONArray并将String转换成JSONArray、ajax请求spring mvc controller,返回中文字符串显示乱码等相关内容,可以在本站寻找。

本文标签: