JQuery$.ajax()发布数据以调用我的控制器中的方法

JQuery $.ajax() post - data to call method in my Controller

本文关键字:我的 调用 控制器 方法 ajax 布数据 JQuery 数据      更新时间:2023-09-26

我对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函数中的方法?

考虑到您只传递了一个字符串作为数据,而您的控制器需要一个Form对象,您的服务器可能会返回一个"未找到"错误。我建议您始终将错误事件添加到ajax调用中,以便捕获它们。

error: function (jqXHR, textStatus, errorThrown) {
   // Do something here
},

至于传递正确的数据,你可能想做这样的事情:

var dataToSend = { "phone" : phone };

然后将您的数据更改为:

data: JSON.stringify(dataToSend),