JQuery $ .ajax()post - 我的Controller中调用方法的数据

时间:2016-05-02 19:24:04

标签: javascript jquery ajax

我仍然是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函数中的方法吗?

1 个答案:

答案 0 :(得分:0)

考虑到您只传递一个字符串作为您的数据并且您的Controller期望一个Form对象,您的服务器可能会返回“Not Found”错误。我建议总是将错误事件添加到你的ajax调用中,这样你就可以捕获它们。

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

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

var dataToSend = { "phone" : phone };

然后将您的数据更改为:

data: JSON.stringify(dataToSend),