1
我試圖在spring MVC中學習jQuery AJAX,並且我試圖將一個值從視圖傳遞給控制器,並在控制檯中打印該值控制器,我想稍後學習如何在控制器中更改該值,然後將其傳遞給我的視圖,但現在我有400個錯誤的請求。在spring中使用jQuery ajax傳遞一個html頁面的值mvc
這是我的控制器方法
@RequestMapping(value = "formNormal", method = RequestMethod.GET)
public String formNormal(Model model) {
return "formNormal";
}
@RequestMapping(value = "formNormal", method = RequestMethod.POST)
public @ResponseBody String jsonMethod(@RequestBody String name) {
String controllerVariable = name;
System.out.println("controller variable value is " + controllerVariable);
return controllerVariable;
}
,這是我的網頁formNormal.html
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script type="text/javascript">
function doAjaxPost()
{
// get the form values
var name = $('#name').val();
var json = {"name" : name};
$.ajax(
{
type: "POST",
url: "formNormal",
data: JSON.stringify(json),
cache: false,
beforeSend: function(xhr)
{
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json");
},
success: function(response)
{
alert(response);
$('#name').val('');
},
error: function (xhr, ajaxOptions, thrownError)
{
alert(xhr.status);
alert(xhr.responseText);
alert(thrownError);
}
});
}
</script>
<fieldset>
<legend>Name in view</legend>
Name in view: <input type="text" name="name">
<br>
<input type="button" value="Add Users" onclick="doAjaxPost()">
</fieldset>
<br>
編輯**我的數據更改爲data: JSON.stringify(json),
,我不再有400錯誤,我改成成功塊:
`success: function(response)
{
alert("Name: "+response);
$('#name').val('');
},`
它打印我[object Object ]中,在我的eclipse控制檯中,名稱變量值是{}
謝謝我不再有400錯誤,但現在變量名是空的,我的控制檯不打印一個值,我得到一個警告,說:「名稱:undefined」 – stackUser2000 2015-02-11 20:19:08
你可以確認你的控制器代碼現在得到的值?警報來自你的成功回調,所以我相信你的控制器方法會被調用。你能否警惕(迴應)成功並讓我知道? – 2015-02-11 20:23:01
我把這一行添加到我的成功塊,如下所示:'成功:功能(響應) {0}(「Name:」+ response.name); $('#name')。val(''); 提醒(響應) },' 和警報顯示'[object Object]'和我在eclipse中的控制檯顯示'{}'是我變量的值 – stackUser2000 2015-02-11 20:29:24