PDA

View Full Version : سوال: برنگشتن جواب با هر درخواست ajax



numberone1
چهارشنبه 02 بهمن 1392, 04:39 صبح
سلام
من از این کد استفاده میکنم پارارمتر ها رو با firebug چک میکنم ارسال میشن ولی خروجی هیچی بر نمیگرده!!

$(document).ready(function() {
$(document).on('click', '#message-replay-submit',function(){
//$("#message-replay-submit").prop('disabled', true);
$("#message-replay-submit").attr('disabled','disabled');
var id = $('#message-replay-parent_id').val();
var message = jQuery("textarea#message-replay-message").val();
var unixTime = Math.floor(new Date().getTime() / 1000);
$('#show-message-result').dialog({
modal:true,
height: 300,
width: 380,
position: ['top', 20],
buttons: {
Ok: function() {
$(this).dialog( 'close' );
$('#show-message-result').html('');
}
}
});
if((id == '') || (message == '')){
return false;
}
$.ajax({
type : "POST",
data : {id : id , message : message},
url : "ajax/replay-message.php?b="+unixTime,
cache : false,
success : function(data){
$('.box-msg').append(data);
$('#show-message-result').html('Message Submited Successfully').dialog('open');
$("#message-replay-submit").prop('disabled', false);
}

});
return false;
});
});


صفحه replay-message



if(isset($_POST['id']) AND isset($_POST['message']) ){
$parent_id = sanitizeString($_POST['id']);
$message = sanitizeString($_POST['message']);
$query_check_message = mysql_query("SELECT * FROM `message` WHERE `id` = '$id' ORDER BY `id` DESC LIMIT 1")OR die(mysql_error());
if($query_check_message && mysql_num_rows($query_check_message) > 0){
$row_message = mysql_fetch_assoc($query_check_message);
$query_message = mysql_query("INSERT INTO `message`
(`id`, `parent_id`, `from_user_id`,`to_user_id`, `subject`, `message`, `visit`, `status`, `tarikh`)
VALUES
(NULL, '$parent_id', '$user_id', '0', '".$row_message['subject']."', '$message', 'unread', 'response from player', UNIX_TIMESTAMP())")OR die(mysql_error());
if($query_message) {
echo '
<div class="width100">
<div class="user-msg">
<i class="icon-chevron-left"></i>
<p>'.$message.'</p>
<span><i class="icon-calendar"></i>'.date("Y-m-d H:i:s").'</span>
</div>
</div>
';
$do = "Player $username Add New Response With Subject ".$row_message['subject'];
user_activity($do,$user_id);
exit();
}
}
//exit();
}else{

print_r($_POST);
}

MMSHFE
چهارشنبه 02 بهمن 1392, 10:21 صبح
اینو تست کنید:
$.ajax({
type: "post",
data: "id="+id+"&message="+message,
url: "ajax/replay-message.php?b="+unixTime,
cache: false,
success: function(data) {
$('.box-msg').append(data);
$('#show-message-result').html('Message Submited Successfully').dialog('open');
$("#message-replay-submit").prop('disabled', false);
}
});

numberone1
چهارشنبه 02 بهمن 1392, 13:10 عصر
درست نشد
فکر نکنم مشکل از کد ایجکسش باشه چون وقتی با فایر باگ چک میکنم پارامتر ها ارسال میشن به صفحه ولی تو صفحه replay-message.php هیچی پیدا نمیکنه نمیدونم چرا !!!
شرط اجرا نمیشه جواب خالی برمیگرده

id1385
چهارشنبه 02 بهمن 1392, 13:20 عصر
با سلام
این نمونه رو ببینید
http://barnamenevis.org/showthread.php?362762-%D9%86%D9%85%D9%88%D9%86%D9%87-%DA%A9%D8%A7%D9%85%D9%84-%D8%AB%D8%A8%D8%AA-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%D8%8C-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-jquery-%D9%88-php


موفق باشید

MMSHFE
چهارشنبه 02 بهمن 1392, 21:27 عصر
خوب یک else هم برای if اصلی بگذارین که یه چیزی مثل error رو echo کنه. ببینید چی برمیگردونه. شاید مقادیر post نمیشن.

numberone1
پنج شنبه 03 بهمن 1392, 00:20 صبح
خوب اگر else بزارم محتوای else چاپ میشه ولی با فایر باگ که نگاه میکنم همشون دارن ارسال میشن
آدرس درسته . همه چیز درسته . نمیدونم چرا اینجوری میشه!!

MMSHFE
پنج شنبه 03 بهمن 1392, 00:37 صبح
شک دارم از این باشه ولی بجای POST_$ از GET_$ استفاده کنید. شاید بخاطر اینکه ...=b? وجود داره، مقادیر رو داره با روش Get میفرسته.