यदि आपकी सत्यापन विफल हो जाती है तो लैरवेल में JSON वापस करने के लिए यह अच्छी कार्यक्षमता है।
http://laravel.com/docs/5.0/validation#controller-validation
दुर्भाग्यवश, प्रतिक्रिया शीर्षलेख सेट हैं ग्राहक की ओर नीचे की तरह ऐसा लगता है कि लैरावेल सफल सत्यापन के लिए जिम्मेदार होगा और किसी भी तरह से एचटीएमएल को प्रतिक्रिया हेडर बदल देगा। हालांकि, मैं इसे कहीं भी दस्तावेज नहीं देख रहा हूं। किसी के पास कोई सुराग है?
$.ajax({
dataType: "JSON",
error: function(error){ //422 response, validation errors go here
success: function(response) { //if validation successful
अद्यतन करें मैं नियंत्रक-आधारित सत्यापन के बजाय फॉर्म अनुरोधों का उपयोग कर रहा हूं, लेकिन इससे कोई फर्क नहीं पड़ता है।
उत्तर:
उत्तर № 1 के लिए 1लार्वेल के साथ आप लार्वेल के माध्यम से क्लाइंट को भेजे गए प्रतिक्रिया हेडर को बदल सकते हैं।
5.1 में अपने नियंत्रक पर आप प्रतिक्रिया हेडर भेज सकते हैं जिसे आप चाहते हैं तो उनके लिए अलग-अलग कार्यान्वयन करें।
return response()->json(["message"=>"Error Encountered"],422);
यह आपके क्लाइंट को 422 त्रुटि पर वापस भेज देगा। दूसरी बहस आप क्लाइंट को गुजरने के आधार पर अलग-अलग http कोड सेट कर सकते हैं। इस पर एक नज़र डालें कि फ़ंक्शन किस पर स्वीकार करता है
http://laravel.com/api/5.1/Illuminate/Contracts/Routing/ResponseFactory.html#method_json
लार्वेल 5.0 के लिए भी यही सच है
http://laravel.com/api/5.0/Illuminate/Contracts/Routing/ResponseFactory.html#method_json
सत्यापन के बाद पुनर्निर्देशन के लिए आप इस तरह के एक शीर्षलेख संलग्न कर सकते हैं
return Redirect::back()->header("Cache-Control", "no-store");
http://laravel.com/api/5.0/Illuminate/Http/ResponseTrait.html#method_header