$ .জ্যাক্স ত্রুটিটি একটি সময়সীমা শেষ হলে তা নির্ধারণ করুন


205

আমি এর যাদু ব্যবহার করছি jQuery.ajax( settings )

তবে আমি ভাবছি টাইম আউট সেটিংয়ের সাথে কেউ খেলেছে কিনা?

আমি জানি এটি মূলত কোনও অনুরোধের জন্য স্থানীয় সময় নির্ধারণের জন্য, তবে সময়সীমাটি পৌঁছে গেলে এটি কি কিছু ট্রিগার করতে পারে? অথবা এটি কেবল কোনও প্রতিক্রিয়া শুনতে শুনতে বন্ধ করে দেয়?

JQuery সাইট পড়া, আমি দেখতে পাচ্ছি কোন আর্গুমেন্ট পাস হয়েছে, তাই এটি একটি ক্ষমতা সহ একটি সাধারণ সেটিং মত মনে হয়। যা ঠিক আছে।

তবে, সময়সীমাটি শেষ হয়ে গেলে আমি একটি সতর্কতা বা কিছু ফাংশন ট্রিগার করতে চাই। আমি দেখতে পাচ্ছি যে এই ক্ষেত্রে ত্রুটি সেটিংটি ট্রিগার হয় না।

এখানে আমার স্নিপেট:

$("form#testform").submit(function(){ 

 var allFormValues = $("form#testform").serialize(); 

   $.ajax({
    cache:false,
    timeout:8000,  // I chose 8 secs for kicks
    type:"POST",
    url:"someurl.php",
    data:allFormValues,
    error:function(){ alert("some error occurred") },
    success:function(response){ alert(response); }
   });

});

সময়সীমার সাথে আরও কীভাবে কাজ করা যায় তা কি কেউ জানেন?

উত্তর:


356

যদি আপনার ত্রুটির ইভেন্ট হ্যান্ডলার তিনটি আর্গুমেন্ট (xMLhttprequest, টেক্সট্যাটাস এবং বার্তা) গ্রহণ করে, সময়সীমা শেষ হওয়ার পরে, স্থিতি আর্গটি 'সময়সীমা' হয়ে যায়।

JQuery ডকুমেন্টেশন প্রতি :

দ্বিতীয় আর্গুমেন্টের জন্য সম্ভাব্য মানগুলি (নাল ছাড়াও) হ'ল "টাইমআউট", "ত্রুটি", "নোটডিমাইটিড" এবং "পার্সেরেরর"।

ততক্ষণে আপনি নিজের ত্রুটিটি পরিচালনা করতে পারেন।

আমি এই ফিজল তৈরি করেছি যা এটি প্রদর্শন করে।

$.ajax({
    url: "/ajax_json_echo/",
    type: "GET",
    dataType: "json",
    timeout: 1000,
    success: function(response) { alert(response); },
    error: function(xmlhttprequest, textstatus, message) {
        if(textstatus==="timeout") {
            alert("got timeout");
        } else {
            alert(textstatus);
        }
    }
});​

JsFizz এর সাহায্যে আপনি আজাক্স কলগুলি পরীক্ষা করতে পারেন - প্রতিক্রিয়া জানানোর আগে এটি 2 সেকেন্ড অপেক্ষা করবে। আমি টাইমআউট সেটিংটি 1 সেকেন্ডে রেখেছি, সুতরাং এটির থেকে ত্রুটিটি বের হওয়া উচিত এবং ত্রুটি হ্যান্ডলারের কাছে 'টাইমআউট' এর একটি পাঠ্যপত্রকে ফিরিয়ে দেওয়া উচিত।

আশাকরি এটা সাহায্য করবে!


3
খুশী এটা কাজ! হ্যাঁ, তারা এই জাতীয় দস্তাবেজগুলিতে সেই স্থিতির মানগুলি লুকিয়ে রাখে।
ডেভিড হোয়েস্টার

102
তারা ডকুমেন্টেশনে অনেক লুকায়।
হারুন

4
@ জোখেমকুইজ্পার্স ফিডলার 2 সেকেন্ড অপেক্ষা করবে, সুতরাং 1 সেকেন্ডের সময়সীমা পূরণ হবে। পড়ুন ....
রিকজাহ

2
এক্স, টি, এম ওয়ার্স কি কি তা ব্যাখ্যা করতে পারেন?
বার্ট

3
(x) mlhttprequest, (t) extstatus, এবং (m)
প্রবন্ধ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.