سلام در کار با ajax ما داده ها رو بصورت json معمولا ارسال می کنیم یا فقط دریافت می کنیم؟من چندرشته دارم
برای ارسال داده ها بصورت json به چه صورت باید عمل کنم؟
حالا من جدا از پیش قرض اومدم داده ها رو با json ارسال کنم ولی متاسفانه ارسال نمیشه و تابعerror اجرا میشه:
e.preventDefault();
$data = new FormData($("#forms")[۰]);
$data.append("section", "general");
$.ajax({
url: "ajax_mengers.php",
method: "post",
dataType: "json",
data: JSON.stringify($data),
contentType: false,
processData: false,
success: function(resp) {
$(".alert").fadeIn();
$(".alert").html("<p>" + resp + "</p>");
},
xhr: function() {
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", function(e) {
var prog = Math.round((e.loaded / e.total) * ۱۰۰);
$(".progress-bar").css("width", prog + "%");
});
return xhr;
},
error: function() {
alert("nooo");
}
});
})
سلام مجدد
@paressep28
خواهش میکنم
بله دیگه نیاز نیست!
ببینید جیسون و XML یه زبان انتقال دیتا هست بین وب سرویس ها
از جیسون در ایجکس میتونید استفاده کنید
از جیسون در API ها خیلی استفاده میشه
سیسنتکس خاص خودش رو هم داره
میشه گفت یه زبان رابط برای انتقال دیتا بین پلت فرم هاست!
شما با هر API در هر سایتی
سایت ارز باشه
سایت ورزشی باشه
هر سایتی
شما دیتا رو به صورت json میفرستید
به صورت json هم جواب میگیرید
سلام
@paressep28
شما کدتون اشتباه هست
هم از http رکوئست جاوا اسکریپت استفاده کردید هم از $.ajax جی کوئری!!
تصمیم گیری کنید اول که عملیات ایجکسی رو با کدومش میخوایید انجام بدید تا راهنماییتون کنم
یه نمونه کد که با جی کوئری به صورت ساده میشه پیاده سازی کرد رو براتون میزارم
برای ارسال پارامتر هم باید در قالب آبجکت بفرستید دیتا رو
یا حتی سریالایز شده
بزارید یه نمونه براتون بزارم
<form id="loginForm" action="login.php" method="post">
<input type="text" name="username" placeholder="Username"><br>
<input type="password" name="password" placeholder="Password"><br>
<input type="submit" value="Login">
<div class="result"></div>
</form>
<script>
$("#loginForm").submit(function(e){
e.preventDefault();
var frm = $(this);
frm.find("div.result").html("<img src='ld.gif'>").fadeIn();
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function(response){
frm.find("div.result").html(response).delay(۳۰۰۰).fadeOut();
}
});
})
</script>
از اون سمت برای PHP هم به صورت مستقیم به متغیر ها میتونید دسترسی داشته باشید
<?php
sleep(rand(۱,۳)); //delay simulation
if ($_POST['username'] == '۱' and $_POST['password'] == '۱') { // successful login
// do Login here :
echo "شما با موفقیت لاگین شدید.";
} else { // invalid login
echo "نام کاربری یا رمز عبور اشتباه است.";
}
@Alimotreb
درود بر شما
کد من وقتی dataType: "json", پا ک کنم درست کارمیکنه
بعد اون شی http میخاستم برای نوار پیشرفت بسازم که طبق آموزش یوتیوب عمل کارکردم و درست کارکرد
بعد من هم تو این مبحث گیچ شدم
$.ajax درخواست هارو با چه نوعی میفرسته؟
من میخام با json بفرستم و به چه شکل هست؟
بعد htpp ریکوئست هیچ ارتباطی با xml نداره؟
سلام مجدد
@paressep28
ببینید خود $ajax هم از همون رکوئست جاوا اسکریپته ولی در قالب کتابخونه جی کوئری و کار راحت تر شده و بهتر
متد های زیادی هم داره
وقتی سریالایز میکنید دیگه نیاز به انکود کردنش نیست اونور دسترسی مستقیم دارید
اما انواع داده های تایپی رو میتونید بزنید
https://api.jquery.com/jquery.ajax/#jQuery-ajax1
توی مستنداتش نوشته میتونید بخونید
@Alimotreb
خیلی ممنونم از شما بزرگوار
منظورتون رو من اینطور فهمیدم
که تو این حالت نیازی به ارسال به شیوه json یا xml نیست؟ واونطرف ما دسترسی مستقیم داریم؟
و برام سوالی پیش اومده کی از json استفاده می کنیم؟
سلام مجدد
@paressep28
خواهش میکنم
بله دیگه نیاز نیست!
ببینید جیسون و XML یه زبان انتقال دیتا هست بین وب سرویس ها
از جیسون در ایجکس میتونید استفاده کنید
از جیسون در API ها خیلی استفاده میشه
سیسنتکس خاص خودش رو هم داره
میشه گفت یه زبان رابط برای انتقال دیتا بین پلت فرم هاست!
شما با هر API در هر سایتی
سایت ارز باشه
سایت ورزشی باشه
هر سایتی
شما دیتا رو به صورت json میفرستید
به صورت json هم جواب میگیرید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟