উত্তর:
আরেকটি মামলা:
0
আপনি যদি একটি এএএএক্সএক্স কল প্রেরণ করেছেন এবং এজ্যাক্স প্রতিক্রিয়া পাওয়ার আগে ব্রাউজারের একটি রিফ্রেশ ট্রিগার হয়ে থাকে তবে এর একটি স্ট্যাটাস কোড পাওয়া সম্ভব হতে পারে । AJAX কল বাতিল হয়ে যাবে এবং আপনি এই স্থিতিটি পাবেন।
<form onsubmit="return false;">
e.preventDefault();
আমার অভিজ্ঞতায় আপনি 0 টির একটি স্থিতি দেখতে পাবেন যখন:
ব্যবহার করার সময় এখানে একই সমস্যা <button onclick="">submit</button>
। তারপরে ব্যবহার করে সমাধান করুন<input type="button" onclick="">
স্থিতি কোড 0 এর অর্থ হল অনুরোধ করা ইউআরএল পৌঁছনীয় নয়। পরিবর্তন করে // কিছু / কিছু করুন: http থেকে HTTPS: // কিছু / কিছু আমার জন্য কাজ করেন। স্থিতি কোডটি 0 হলে অন্য ব্রাউজারগুলি ডান না করে আইই একটি "অনুমতি অস্বীকৃত" বলে ত্রুটি ছুঁড়ে দেয়।
এই নিবন্ধটি আমাকে সাহায্য করেছে। আমি এজেএক্সের মাধ্যমে ফর্ম জমা দিচ্ছিলাম এবং ব্যবহার করতে ভুলে গেছি return false
(আমার এজ্যাক্স অনুরোধের পরে) যা ক্লাসিক ফর্ম জমা দেওয়ার দিকে পরিচালিত করেছিল কিন্তু আশ্চর্যের সাথে এটি সম্পন্ন হয়নি।
<form onsubmit="return false;">
কৌতুকটি করেছে
কারণ আপনি অ্যাজাক্স স্থিতি গুগল করার সময় এটি প্রদর্শিত হয় 0 আমি কিছু টিপ ছেড়ে যেতে চেয়েছিলাম যা আমাকে সময় নষ্ট করা সময় সময় নেয় ... আমি পিএইচপি পরিষেবা কল করতে এজ্যাক্স ব্যবহার করছিলাম যা কোডিগিটারের জন্য ফিলের আরইএসএস নিয়ন্ত্রণকারী হিসাবে ঘটেছে (নিশ্চিত না যে এটি আছে কিনা এটির সাথে কিছু করা বা না করা) এবং 0, রেডিস্টেট 0 স্ট্যাটাস পেতে থাকি এবং এটি আমার বাদাম চালাচ্ছিল। আমি এটি ডিবাগ করছি এবং লক্ষ্য করেছি যে কখন আমি প্রতিবেদনটি প্রস্থান করার পরিবর্তে প্রতিধ্বনিত হবে এবং ফিরে আসব আমি একটি সাফল্য পাব। অবশেষে আমি ডিবাগিংটি বন্ধ করে দিয়ে চেষ্টা করেছি এবং এটি কার্যকর হয়েছে। দেখে মনে হচ্ছে পিএইচপি সহ এক্সডিব্যাগ ডিবাগারটি কোনওভাবে প্রতিক্রিয়াটি পরিবর্তন করছে। যদি আপনি কোনও পিএইচপি ডিবাগার ব্যবহার করেন তবে এটি যদি সাহায্য করে কিনা তা দেখার জন্য এটি বন্ধ করার চেষ্টা করুন।
আমি আরেকটি কেস পেয়েছি যেখানে jquery আপনাকে স্থিতি কোড 0 দেয় - যদি কোনও কারণে XMLHttpRequest সংজ্ঞায়িত না করা হয় তবে আপনি এই ত্রুটিটি পেয়ে যাবেন।
স্পষ্টতই ওয়েবে এটি ঘটবে না, তবে রাতের বেলা ফায়ারফক্স বিল্ডে একটি বাগ এটি লিখেছিল এমন একটি অ্যাড-অনে ক্রপ হয়ে যায়। :)
jQuery.ajax()
এক্সএইচআর অবজেক্টে আমার সমস্যা ছিল । অনুরোধটি এজেএক্স কল-তেও তৈরি করা হয়নি, এখনও f.open পাওয়া কোনও ফাংশন এবং স্থিতি কোড নয় by এর কারণ: আমি $.ajaxSettings.xhr
এখান থেকে বস্তুটি $.ajaxSetup({xhr})
ফিরিয়ে new window.XMLHttpRequest();
আমারও একই সমস্যা ছিল এবং এটি ব্রাউজারের এক্সএসএস (ক্রস সাইট স্ক্রিপ্টিং) ব্লকের সাথে সম্পর্কিত ছিল। আমি এটি একটি সার্ভার ব্যবহার করে কাজ করতে পরিচালিত।
একবার দেখুন: http://www.daniweb.com/web-development/javascript-dhtml-ajax/threads/282972/why-am-i-getting-xmlhttprequest.status0
"দুর্ঘটনাজনিত" ফর্ম জমা দেওয়া হ'ল আমার ঠিক সমস্যা ছিল। আমি কেবল পুরোপুরিভাবে ফর্ম ট্যাগগুলি সরিয়েছি এবং এটি সমস্যার সমাধান বলে মনে হচ্ছে। আপনি সবাই ধন্যবাদ!
আমাদের অনুরূপ সমস্যা ছিল - জ্যাকোরি এজ্যাক্স কল এ স্ট্যাটাস কোড 0 - এবং এটি নির্ণয় করতে আমাদের পুরো দিন লেগেছিল। যেহেতু কেউ এখনও এই কারণটি উল্লেখ করেনি, তাই আমি ভেবেছিলাম শেয়ার করব।
আমাদের ক্ষেত্রে সমস্যাটি ছিল HTTP সার্ভার ক্রাশ। পিএইচপি-তে কিছু বাগ আপাচি ফুঁকছিল, তাই ক্লায়েন্টের শেষে এটি দেখতে এরকম দেখাচ্ছে:
mirek@toccata:~$ telnet our.server.com 80
Trying 180.153.xxx.xxx...
Connected to our.server.com.
Escape character is '^]'.
GET /test.php HTTP/1.0
Host: our.server.com
Connection closed by foreign host.
mirek@toccata:~$
যেখানে test.php এ ক্র্যাশিং কোড রয়েছে। সার্ভার থেকে কোনও ডেটা ফিরেনি (শিরোনাম এমনকি নয়) => এজ্যাক্স কলটি স্থিতি 0 সহ বাতিল করা হয়েছিল।
আমার ক্ষেত্রে এটি আমার জাঙ্গো সার্ভারের অধীনে চালিত http://127.0.0.1:8000/
হয়ে এজ্যাক্স কলটি প্রেরণে হয়েছিল http://localhost:8000/
। আপনি তাদের একই ঠিকানায় মানচিত্রের প্রত্যাশা করলেও, তারা এতক্ষণ নিশ্চিত হন না যে আপনি আপনার অনুরোধগুলি লোকাল হোস্টে প্রেরণ করছেন না।
আমাদের ক্ষেত্রে, পৃষ্ঠার লিঙ্কটি https থেকে http এ পরিবর্তিত হয়েছিল । ব্যবহারকারীরা লগ ইন করা সত্ত্বেও এজেএক্সের সাহায্যে লোড করা থেকে তাদের বাধা দেওয়া হয়েছিল।
আমার জন্য, সমস্যাটি হোস্টিং সংস্থা (গডাড্ডি) পোষ্ট অপারেশনগুলির চিকিত্সা করার কারণে হয়েছিল যার একরকম সুরক্ষা হুমকির মতো যথেষ্ট প্রতিক্রিয়া ডেটা (দশকিলোবাইটের চেয়ে বেশি কিছু) ছিল। যদি এইগুলির মধ্যে 6 টিরও বেশি এক মিনিটের মধ্যে ঘটে থাকে, তবে হোস্টটি পরের মিনিটের মধ্যে পিওএসটি অনুরোধের প্রতিক্রিয়া জানিয়েছিল এমন পিএইচপি কোড কার্যকর করতে অস্বীকার করেছিল। হোস্ট পরিবর্তে কী করেছে তা আমি পুরোপুরি নিশ্চিত নই, তবে টিসিপিডম্পের সাথে ব্রাউজারের একটি পোষ্ট অনুরোধের প্রতিক্রিয়া হিসাবে টিসিপি রিসেট প্যাকেট আসছি see এটি কোনও jqXHR অবজেক্টে 0 স্থিতির জন্য HTTP স্থিতি কোডটি ডেকে আনে।
অপারেশনগুলি POST থেকে GET এ পরিবর্তন করা সমস্যার সমাধান করে। গডাড্ডি কেন এই সীমাটি চাপিয়ে দিয়েছে তা পরিষ্কার নয়, তবে কোড পরিবর্তন করা হোস্ট পরিবর্তন করার চেয়ে সহজ ছিল।
আমি মনে করি এই ত্রুটির কারণ কী হতে পারে তা আমি জানি।
গুগল ক্রোমে গুগল ক্রোম এক্সটেনশনের জন্য ডিডোস আক্রমণ প্রতিরোধ করার জন্য একটি অন্তর্নির্মিত বৈশিষ্ট্য রয়েছে।
যখন এজাক্স অনুরোধগুলি অবিচ্ছিন্নভাবে 500+ স্থিতির ত্রুটিগুলি ফিরিয়ে দেয়, তখন এটি অনুরোধগুলিকে থ্রটল করতে শুরু করে।
সুতরাং নিম্নলিখিত অনুরোধের উপর 0 স্থিতি পাওয়া সম্ভব।
বর্ণিত সমস্যার সবচেয়ে দু: খজনক কারণে পুরষ্কার জয়ের প্রয়াসে।
কল করতে ভুলে যাচ্ছি
xmlhttp.send(); //yes, you need this pivotal line!
হ্যাঁ, আমি এখনও 'ওপেন' কল থেকে শূন্যের স্থিতি রিটার্ন পাচ্ছিলাম।
আমার ক্ষেত্রে, আমি এটি পেয়েছিলাম তবে কেবল সাফারি মোবাইলে। সমস্যাটি হ'ল আমি আপেক্ষিকটির পরিবর্তে ( যাইহোক.এফপি ) সম্পূর্ণ ইউআরএল ( http://example.comwwove.php ) ব্যবহার করছিলাম । এটি যদিও কোনও অর্থবোধ করে না, এটি কোনও এক্সএসএস সমস্যা হতে পারে না কারণ আমার সাইটটি http://example.com এ হোস্ট করা হয়েছে । আমার ধারণা, সাফারিটি HTTP অংশটির দিকে তাকিয়ে থাকে এবং স্বয়ংক্রিয়ভাবে এটিকে বাকি ইউআরএলটি পরীক্ষা না করেই একটি সুরক্ষিত অনুরোধ হিসাবে পতাকাঙ্কিত করে।
আমার সমস্যা সমাধানের সময়, আমি এই AJAX xmlhttpRequest.status == 0 এর অর্থ ক্লায়েন্ট কলটি এখনও সার্ভারে পৌঁছেছে না, তবে ক্লায়েন্ট পক্ষের ইস্যু করার কারণে ব্যর্থ হয়েছে। যদি প্রতিক্রিয়াটি সার্ভার থেকে ছিল, তবে স্থিতিটি অবশ্যই তাদের 1XX / 2xx / 3xx / 4xx / 5xx HTTP রেসপন্স কোড হতে হবে be এখন থেকে, সমস্যা সমাধানের বিষয়টি ক্লায়েন্ট ইস্যুতে ফোকাস করবে এবং এটি ইন্টারনেট নেটওয়ার্ক সংযোগ ডাউন বা উপরের ল্যাংডন দ্বারা বর্ণিত একটি হতে পারে।
অনুরোধটি করার সময় ব্রাউজার কনসোলটি পর্যবেক্ষণ করুন, যদি আপনি দেখতে পান যে "একই অরিজিন পলিসি HTTP অ্যাজ্যাক্সে রিমোট রিসোর্সটি পড়তে নিষেধ করেছে ..... কারণ: কর্স শিরোনামটি 'অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-উত্পন্ন' নিখোঁজ 'রয়েছে তবে আপনার প্রয়োজন প্রতিক্রিয়া শিরোনামে "অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-উত্স" যোগ করুন। উদাহরণস্বরূপ: জাভাতে আপনি প্রতিক্রিয়া.সেটহিডার ("অ্যাক্সেস-কন্ট্রোল-অরিজিন-অরিজিন", "*") এর মতো সেট করতে পারেন যেখানে প্রতিক্রিয়াটি এইচটিটিপি সার্ভেলরেস্পোনস।