علیرضا
5 سال پیش توسط علیرضا مطرح شد
5 پاسخ

کار با‌json در jq

سلام در کار با 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");
          }
        });
      })

ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام مجدد
@paressep28

خواهش میکنم
بله دیگه نیاز نیست!

ببینید جیسون و XML یه زبان انتقال دیتا هست بین وب سرویس ها
از جیسون در ایجکس میتونید استفاده کنید
از جیسون در API ها خیلی استفاده میشه
سیسنتکس خاص خودش رو هم داره
میشه گفت یه زبان رابط برای انتقال دیتا بین پلت فرم هاست!

شما با هر API در هر سایتی
سایت ارز باشه
سایت ورزشی باشه
هر سایتی
شما دیتا رو به صورت json میفرستید
به صورت json هم جواب میگیرید


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش آپدیت شد
1

سلام
@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 "نام کاربری یا رمز عبور اشتباه است.";
}

علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش آپدیت شد
0

@Alimotreb
درود بر شما
کد من وقتی dataType: "json", پا ک کنم درست کارمیکنه
بعد اون شی http میخاستم برای نوار پیشرفت بسازم که طبق آموزش یوتیوب عمل کارکردم و درست کارکرد
بعد من هم تو این مبحث گیچ شدم
$.ajax درخواست هارو با چه نوعی میفرسته؟
من میخام با json بفرستم و به چه شکل هست؟
بعد htpp ریکوئست هیچ ارتباطی با xml نداره؟


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام مجدد
@paressep28

ببینید خود $ajax هم از همون رکوئست جاوا اسکریپته ولی در قالب کتابخونه جی کوئری و کار راحت تر شده و بهتر
متد های زیادی هم داره
وقتی سریالایز میکنید دیگه نیاز به انکود کردنش نیست اونور دسترسی مستقیم دارید

اما انواع داده های تایپی رو میتونید بزنید
https://api.jquery.com/jquery.ajax/#jQuery-ajax1
توی مستنداتش نوشته میتونید بخونید


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش مطرح شد
0

@Alimotreb
خیلی ممنونم از شما بزرگوار
منظورتون رو من اینطور فهمیدم
که تو این حالت نیازی به ارسال به شیوه json یا xml نیست؟ واونطرف ما دسترسی مستقیم داریم؟
و برام سوالی پیش اومده کی از json استفاده می کنیم؟


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام مجدد
@paressep28

خواهش میکنم
بله دیگه نیاز نیست!

ببینید جیسون و XML یه زبان انتقال دیتا هست بین وب سرویس ها
از جیسون در ایجکس میتونید استفاده کنید
از جیسون در API ها خیلی استفاده میشه
سیسنتکس خاص خودش رو هم داره
میشه گفت یه زبان رابط برای انتقال دیتا بین پلت فرم هاست!

شما با هر API در هر سایتی
سایت ارز باشه
سایت ورزشی باشه
هر سایتی
شما دیتا رو به صورت json میفرستید
به صورت json هم جواب میگیرید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام