【发布时间】:2017-04-15 04:58:09
【问题描述】:
我是 jquery 和 ajax 的新手。我在这里有一个脚本,我需要将变量传递给一个 php 文件。然后该 php 将被编码为 div#chat-body。我正在尝试通过 POST 将接收器变量传递给 load-messages.php,但出现以下错误:“未定义索引:第 8 行 xxxx/scripts/load_messages.php 中的接收器”。我认为我的语法有问题,或者我这样做完全错误。
script.js
$('input#send-message').on('click', function(){
alert("test");
var message = $('input#input-message').val();
var sender= $('input#sender').val();
var receiver= $('input#receiver').val();
if($.trim(message)!=''){
$.post('scripts/messaging.php', {message: message, sender: sender, receiver:receiver}, function(data){
//output after sending message
});
//load message to chat-body div
$.ajax({
url: 'scripts/load_messages.php',
type: "POST",
data: {receiver: receiver},
success: function(data){
$('#chat-body').html(data);
//$('#chat-body').scrollTop($('#chat-body')[0].scrollHeight);
}
});
}});
加载消息.php
<?php
session_start();
require('config.php');
require('chat_functions.php');
$messages = get_msg($_SESSION['user_id'], $_POST['receiver']);
foreach($messages as $message){
if($message['sender'] == $_SESSION['user_id']) {
?><div id = "you_message">
<?php echo '<strong> You: </strong><br />';
echo $message['message'].'<br /><br />';?>
</div><!--you_message-->
<?php
}
else{
?><div id="recipient_message">
<?php echo '<strong>'.get_name($_POST['receiver']).'</strong><br />';
echo $message['message'].'<br /><br />';?>
</div> <!--recipient_message -->
<?php
}
}
?>
【问题讨论】:
-
显然,变量receiver没有被传递给load-message.php
-
@BrianOna :请检查我的答案,应该可以帮助您调试 :)
-
我认为你的代码没有问题,尝试在firebug中调试正在发布的关键值
-
感谢大家的帮助。在查看@SasiRekha 的答案后,我刚刚在变量接收器上添加了引号。