/ / सत्यापन अगर विफलता विफल / सफल होता है तो लैरवेल प्रतिक्रिया शीर्षलेख - jquery, AJAX, सत्यापन, लार्वेल, httpresponse

अगर सत्यापन विफल / सफल हो जाता है तो लैरवेल प्रतिक्रिया शीर्षलेख बदलता है - jquery, AJAX, सत्यापन, लार्वेल, httpresponse

यदि आपकी सत्यापन विफल हो जाती है तो लैरवेल में 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