PDA

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



numberone1
چهارشنبه 02 بهمن 1392, 03: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, 09: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, 12:10 عصر
درست نشد
فکر نکنم مشکل از کد ایجکسش باشه چون وقتی با فایر باگ چک میکنم پارامتر ها ارسال میشن به صفحه ولی تو صفحه replay-message.php هیچی پیدا نمیکنه نمیدونم چرا !!!
شرط اجرا نمیشه جواب خالی برمیگرده

id1385
چهارشنبه 02 بهمن 1392, 12: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, 20:27 عصر
خوب یک else هم برای if اصلی بگذارین که یه چیزی مثل error رو echo کنه. ببینید چی برمیگردونه. شاید مقادیر post نمیشن.

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

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