jQuery函数不提交Ajax请求

时间:2014-05-11 20:41:49

标签: javascript ajax post

  1. 下面的函数/ ajax请求拒绝工作/'post',我无法弄清楚原因。

  2. 我假设PHP脚本从我的Ajax请求中收到的任何数据变量应该引用$_POST['sday']$_POST['sdate']

  3. PS成功函数如何处理来自PHP脚本的JSON编码响应?

  4. 我的代码:

    <html>
    <head>
        <title></title>
    </head>
    <body>
    <h1>Welcome to Richmond nursing app, you have successfully logged in!</h1>
    <hr>
    <form id="idForm" name="idForm">
    <input type="text" size="8" id="date" name="date"><br>
    <input type="hidden" size="8" id="reversedate" name="reversedate"><br>
    <input type="hidden" size="1" id="dow" name="dow"><br>
    <input type="submit" id="submitbutton" name="submitbutton">
    </form>
    <div id="report" name="report">
    </div>  
    <br><br><br>
    <br>
    <br>
    <p id="p1">x</p>
    <br>
    <a href="logout.php">log out</a>
    
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">  </script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/ui.js"></script>
    <script>
            $('#submitbutton').click(function(){
                      var fulldate=$('#date').datepicker('getDate');
                      var date=fulldate.getDate();
                      var day=fulldate.getDay();
                      var month=fulldate.getMonth()+1;
                      var year=fulldate.getFullYear();
    
                      if (month<10) 
                        {month="0"+month};
                      if(date<10)
                        {date="0"+date};
    
                     var selecteddate=year+"-"+month+"-"+date;
    
                     var url = "fetchsimple.php"; // the script where you handle the form input.
                      $.ajax({
                          type: "POST",
                          url: url,
                          data: {sdate: selecteddate, sday:day}, // serializes the form's elements.
                          success: function(data)
                          {
                              alert(data); // show response from the php script.
                          }
                        });
                    });
    </script>
    </body>
    </html>
    

2 个答案:

答案 0 :(得分:4)

以jquery代码处理提交事件,如下所示:

$('#submitbutton').click(function(e){
    e.preventDefault();
    .......
    .......

}

对于JSON响应添加

dataType: 'json'

到ajax请求然后你可以使用带句点(。)符号的编码数据。例如:

alert(data.msg);

答案 1 :(得分:0)

不是处理提交按钮上的单击,而是处理表单的提交事件:

$('#idForm').submit(function() {

...
...

  return false;
}

return false将取消表单提交,让你的AJAX通话结束。

对于要在AJAX调用中指定数据类型的JSON响应。

dataType: 'json'