我仍然是JQuery的新手,并且在使用$ .ajax()函数时遇到了困难。 我正在尝试将数据发送到控制器进行处理。
调试Jquery,单击按钮时看起来没有调用ajax。
function getGuestInfo() {
var phone= $('#phone').val();
$.ajax({
type: "GET",
url: "/RequestForms/getGuestInfo.ajx",
data: phone,
cache: false,
success: function(response){
// we have the response
window.alert("success"+ response);
$('#guestName').html(response);
$('#address').val('');
$('#email').val('');
},
});
window.alert("Call");
}
按钮:
<input type="button" value="Call Func" onclick="getGuestInfo()"/>
控制器:
## @RequestMapping(value = "/getGuestInfo.ajx", method = {RequestMethod.GET, RequestMethod.POST})
public @ResponseBody String getGuestInfo(
final RequestContext requestContext, @ModelAttribute Form form) { ## Do something }
另外,在这种情况下,我应该使用post或get来调用Jquery函数中的方法吗?
答案 0 :(得分:0)
考虑到您只传递一个字符串作为您的数据并且您的Controller期望一个Form对象,您的服务器可能会返回“Not Found”错误。我建议总是将错误事件添加到你的ajax调用中,这样你就可以捕获它们。
error: function (jqXHR, textStatus, errorThrown) {
// Do something here
},
至于传递正确的数据,你可能想要做这样的事情:
var dataToSend = { "phone" : phone };
然后将您的数据更改为:
data: JSON.stringify(dataToSend),