Ajax调用无法在"成功"上发布数据

时间:2014-06-18 16:59:45

标签: php jquery ajax post

我在下面有一个简单的AJAX函数,只需点击按钮#submit_message,它就是一个模态,数据被发送到一个页面(insert_message.php),数据被输入数据库并重新加载模态。我想将id的值作为recipient_id发送给模态。函数的第一部分工作和模态加载完美,但是模型的后期数据没有被发布 - 就像什么都没有 - 在Firebug上数据被发布到insert_message.php,但什么时候没有返回。我有非常类似的功能,做其他事情,这些工作正常。我已经找到了答案,但我认为这是一个非常具体的问题,所以没有成功。它甚至可能是语法问题 - 我是jQuery的新手。

$("#submit_message").click(function(){
   var recipientId = $('#profile_id').val();
   var subject = $('#message_subject').val();
    $.ajax({
        url: '../ajax/insert_message.php',
        type: 'post',
        data: {
          'subject': $('#message_subject').val(),
          'message': $('#message_field').val(),
          'recipientId': recipientId,
          },
            success: function(html) {
               $('.message_holder').load('message_modal.php', {id: recipientId});
               $('input[type="text"],text').val('');
               $('input[type="text"],textarea').val('');
              }
            });
       return false;
      });

这是PHP文件....

 if(isset($_POST['subject']) 
  && !empty($_POST['subject'])                
  && isset($_POST['message']) 
  && !empty($_POST['message'])
  && isset($_POST['recipientId'])
  && !empty($_POST['recipientId'])){

  $message = new Message();
  $message->subject = ($_POST['subject']);
  $message->message = ($_POST['message']);
  $message->time = strftime("%Y-%m-%d %H:%M:%S", time());
  $message->sender_id = $_SESSION['sender_id'];
  $message->recipient_id = $_POST['recipientId'];
  $message->status = "unread";
  $message->create();
}

PHP文件正常工作,发送给它的数据到达数据库......所以运行正常。还在测试其他领域。我有这种奇怪的感觉,它与jQuery没什么关系,更多的是与Modal ....没有包含所需的文件或东西。现在正在努力.....(ps我有isset和!空语句,因为我发现PHP在这方面偶尔出现意外行为.....)

这是输出 - 参数被发送并插入数据库.....

      Parametersapplication/x-www-form-urlencoded
      message           Message
      recipientId   162
      subject           Subject

       Source
       subject=Subject+&message=Message+&recipientId=162

然后控制台日志说.....

      (nothing to output)  scripts_ajax.js (line 66)

没有错误报告......仍然在努力....感谢您的关注,

在这里发布完整表单有点混乱,但这是message_modal.php的样子。我现在在想这个问题就在这里......

 <div id="myModal" class="reveal-modal-mail">
    <p>Message to <?php echo User::full_name($id);?><p>


    <?php 

        if(isset($_POST['recipientId'])){
            //DO STUFF 
            }
    ?>
             <form action="" method="post">
                  <table>   
                        <tr> 
                            <td>  
                            <input id="message_subject" name="subject" type="text" 
                            placeholder="Message subject" size="20"  maxlength="3000" value=""/>
                            </td>
                        </tr>                        
                  </table>
                  <table>
                        <tr> 
                            <td>        
                            <textarea id="message_field" name="message" type="text" placeholder="Message details"></textarea>                               
                            </td>
                        </tr>      
                  </table>
                <input id="submit_message" type="button" name="submit" value="submit" />                
                <input id="profile_id" type="hidden" name="submit" value="<?php echo $id;?>"/>           
           </form>
 <a class="close-reveal-modal">&#215;</a>

1 个答案:

答案 0 :(得分:0)

我找到了答案,没有任何意外或不实。

班级&#39; message_holder&#39;在ajax函数中引用的是HTML页面上的mispelt。

延迟错误。

为浪费人们的时间道歉