PDA

View Full Version : سوال: نحوه استفاده از ajax



ABZiko
سه شنبه 18 شهریور 1393, 00:02 صبح
سلام، یک صفحه دارم که توش چند تا دیو و یک textarea و یک دکمه submit دارم، پس از نوشتن متنی در textarea و ثبت کردن، اطلاعات و نوشته ها توی دیتابیس ذخیره می شه، حالا برای این که اون نوشته ها رو به صورت ajax نمایش بدیم باید توی یک فایل یک کوئری SELECT بنویسیم و بعد با ajax jquery اون ها رو بخونیم؟

bagherok
سه شنبه 18 شهریور 1393, 02:37 صبح
اطلاعات فرم روبصورت ایجکس به سمت صفحه مقصدبفرستید وبعد از ثبت دردیتابیس مقدار 1 روبرگدونید ( یا همون کوئری که مگی رو)
و توصفحه مبدا چک کنید اگه یک بود همون اطلاعات فرم که سابمیت شده رو نشون بدید واگه 0 بود عدم برموفقیت.

vahidqara
سه شنبه 18 شهریور 1393, 09:34 صبح
درود. لطفا کمی مطالعه داشته باشید اگه مشکلی بود حتما من و دوستان تا جایی که بتونیم کمک میکنیم.:لبخندساده:

Mori Bone
سه شنبه 18 شهریور 1393, 10:10 صبح
با جی کوپری به دو صورت(تابع) می تونی این کارو انجام بدی:
$.post
و
$.ajax
که تو با جستجو به نتایج بهتری دست می یابی:متفکر:

under22
سه شنبه 18 شهریور 1393, 11:06 صبح
از تابع خود ajax استفاده کنید مانند زیر

$.ajax({

type: "POST",

url: "some.php",

data: { name: "John", location: "Boston" }

})

.done(function( msg ) {

alert( "Data Saved: " + msg );

});

shahriyar3
سه شنبه 18 شهریور 1393, 11:29 صبح
یه راه خیلی ساده و سریع

فرم html با هر چند تا فیلدی که نیاز دارید



<form id="form" action="javascript:;" method="post" enctype="multipart/form-data">
<input />
<input />
<input />
......

</form>


کد های ajax


$('#submit').bind("click", function() {
var formData = new FormData($("#form"));
$.ajax({
url : "ajax.php",
type : 'POST',
data : formData,
async : true,
processData : false,
contentType : false,
beforeSend : function() {
$('.result').html('loading ... ');
},
error : function(request) {
console.log(request.responseText);
},
success : function(json) {
$('.result').html('success ');
}
});
});


کد php



print_r($_POST);

ABZiko
سه شنبه 18 شهریور 1393, 13:24 عصر
با تشکر از همه دوستان با کمک شما دوستان و ویدئو های آقای مهرداد66 تونستم بعضی از کد های دلبخواهم رو بنویسم. فقط یم سوال، بنده در حال ساخت یک چت روم هستم ، در صفحه اول چتروم که قراره نام و آواتار کاربر گرفته بشه، ثبت می شه و می ره به صفحه بعد ، در صفحه بعد سه قسمت وجو داره، کاربران، نوشته ها و ارسال متن که دو قسمت نوشته و کاربران که در دیتا بیس ذخیر ه شده اند به صورت ajax لود می شن و مشکلی ندارن ولی مشکل من اینجاست که می خوام وقتی کاربری متنی توی textarea نوشت به صورت ajax بره و و در دیتا بیس ثبت بشه ولی مشکلم اینجاست که اطلاعات ثبت می شه ولی خالی و بعدش هم بدو ajax ! اگر می شه راهنمایی کنید :


$(document).ready(function(e){

var text=$('textarea').val();

$('button').click(function(e){

$('.loading').css('display','block');

$.ajax({

url:'insertText.php',
type:'POST',
data:{'text':text},
beforeSend : function(){

$('.loading').html('فرستادن ...');

},
error : function(request) {

alert(request);

},
success:function(data){

alert(data);

}

});

});

});


این هم HTML :


<form>

<textarea></textarea>

<button type="submit">ارسال</button>

</form>



و این هم mvc پی دی او که لایه آخر رو گذاشتم:


<?php

require_once('Get.php');

$obj=new Get;
$obj->InsertText($_POST['text']);

?>

ABZiko
سه شنبه 18 شهریور 1393, 19:45 عصر
دوستان اگر لطف کنن و کمک کنن ممنون می شم.:لبخندساده:

ABZiko
سه شنبه 18 شهریور 1393, 20:51 عصر
از تابع نمایش ارور استفاده کردم ولی نوشت :


[object Object]

mojdeh9000
چهارشنبه 26 شهریور 1393, 10:30 صبح
سلام...
من این کد جاوااسکریپت رو برای ارسال اطلاعات به سرور نوشتم اما نمیدونم چرا کد تابع getformvalues کار می کنه اما تابع getformvalue کار نمی کنه؟؟؟
فراخوانی این شکلیه :submitform (document.getElementById('form1'), 'flag.php', 'result','post');

//xmlhttp.js
function prstart(fld)
{
document.getElementById(fld).style.visibility="visible";
}

function prstop(fld)
{
document.getElementById(fld).style.visibility="hidden";
}

//Function to create an XMLHttp Object.
function getxmlhttp (){
//Create a boolean variable to check for a valid microsoft active X instance.
var xmlhttp = false;
//Check if we are using internet explorer.
try {
//If the javascript version is greater than 5.
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
//If not, then use the older active x object.
try {
//If we are using internet explorer.
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
//Else we must be using a non-internet explorer browser.
xmlhttp = false;
}
}

//If we are using a non-internet explorer browser, create a javascript instance of the object.
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}

return xmlhttp;
}
//Function to process an XMLHttpRequest.
function processajax (serverPage, obj, getOrPost, str, theform){
//Get an XMLHttpRequest object for use.
xmlhttp = getxmlhttp ();
if (getOrPost == "get"){
xmlhttp.open("GET", serverPage);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
} else {
xmlhttp.open("POST", serverPage, true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
obj.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(str);
}
}
//Functions to submit a form.
function getFormValue(formobj)
{
var str = "";
var valueArr = null;
var val = "";
var cmd = "";
for(var i = 0;i < formobj.elements.length;i++)
{
switch(formobj.elements[i].type)
{
case "text":
str += formobj.elements[i].name +"=" + encodeURI(formobj.elements[i].value) + "&";
break;
case "textarea":
str += formobj.elements[i].name +"=" + encodeURI(formobj.elements[i].value) + "&";
break;
case "select-one":
str += formobj.elements[i].name +"=" + formobj.elements[i].options[formobj.elements[i].selectedIndex].value + "&";
break;
case "checkbox":
if(formobj.elements[i].checked == true){
str += formobj.elements[i].name +"=" + formobj.elements[i].value + "&";
}
break;
case "radio":
if(formobj.elements[i].checked == true){
str += formobj.elements[i].name +"=" + formobj.elements[i].value + "&";
}
break;
}
}
str = str.substr(0,(str.length - 1));
return str;
}
function getformvalues (fobj){

var str = "";
aok = true;
var val;

//Run through a list of all objects contained within the form.
for(var i = 0; i < fobj.elements.length; i++){
str += fobj.elements[i].name + "=" + encodeURI(fobj.elements[i].value) + "&";

}
//Then return the string values.
return str;
}

function submitform (theform, serverPage, objID, postorget){
/*
vaghti ke mikhahid filed ha ra check konid
if(!check_frmst())
{
return false;
}*/

var file = serverPage;
var str = getformvalues(theform);
//If the validation is ok.

obj = document.getElementById(objID);
processajax (serverPage, obj, postorget, str,theform);

}

hamidhassas
دوشنبه 31 شهریور 1393, 10:09 صبح
دوستان میشه کل پروژه رو بصورت فایل برا دانلود بزارین