jQuery আজাক্স ত্রুটি পরিচালনা, কাস্টম ব্যতিক্রম বার্তা প্রদর্শন করুন


726

আমার jQuery AJAX ত্রুটি বার্তায় সতর্কতা হিসাবে আমি কাস্টম ব্যতিক্রম বার্তাগুলি দেখানোর কোনও উপায় আছে?

উদাহরণস্বরূপ, যদি আমি স্ট্রুটস দ্বারা সার্ভারের পাশ দিয়ে একটি ব্যতিক্রম ছুঁড়তে চাই throw new ApplicationException("User name already exists");, আমি এই বার্তাটি ('ব্যবহারকারীর নাম ইতিমধ্যে বিদ্যমান') jQuery AJAX ত্রুটি বার্তায় ধরতে চাই।

jQuery("#save").click(function () {
  if (jQuery('#form').jVal()) {
    jQuery.ajax({
      type: "POST",
      url: "saveuser.do",
      dataType: "html",
      data: "userId=" + encodeURIComponent(trim(document.forms[0].userId.value)),
      success: function (response) {
        jQuery("#usergrid").trigger("reloadGrid");
        clear();
        alert("Details saved successfully!!!");
      },
      error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
    });
  }
});

দ্বিতীয় সতর্কতায়, যেখানে আমি নিক্ষিপ্ত ত্রুটিটি সতর্ক করি সেখানে আমি পাচ্ছি undefinedএবং স্থিতি কোডটি 500।

আমি কোথায় ভুল করছি তা নিশ্চিত নই। এই সমস্যাটি সমাধান করতে আমি কী করতে পারি?

উত্তর:


357

আপনি Response.StatusCode200 ব্যতীত অন্য কোনওটিতে সেট করছেন তা নিশ্চিত করুন using ব্যবহার করে আপনার ব্যতিক্রমের বার্তাটি লিখুন Response.Write, তারপরে ...

xhr.responseText

.. আপনার জাভাস্ক্রিপ্টে।


9
এটি এখনও 2 বছর এবং দেড় বছর পরে এটি করার সঠিক উপায় ... :) আমি আরও কিছুটা এগিয়ে গিয়েছিলাম এবং আসলে আমার নিজের ত্রুটি JSON অবজেক্টটি ফিরিয়ে দিচ্ছি যা একক বা একাধিক ত্রুটি পরিচালনা করতে পারে, সার্ভার-সাইড ফর্ম বৈধতার জন্য বেশ ভাল।
অ্যালেক্সকোড

@ উইলসন এটি অন্যান্য উচ্চ-রেটিং উত্তরগুলিতে যেমন দেখানো হয়েছিল।
স্প্রিন্টস্টার

3
এখন 2014 সালে। জেএসএন আধিপত্যের যুগে। সুতরাং আমি ব্যবহার xhr.responseJSON। : ডি
রবি

5
xhr.responseJSON কেবল তখনই সেট করা থাকে যদি আপনি নিশ্চিত হন যে মেটা-টাইপ সেট করা আছে (উদাঃ "বিষয়বস্তুর ধরণ: অ্যাপ্লিকেশন / জেসন")। আমি সবেমাত্র এমন একটি সমস্যার মুখোমুখি হয়েছি; প্রতিক্রিয়া পাঠ্য সেট করা হয়েছিল - প্রতিক্রিয়া জেএসওএন ছিল না।
ইগোর

217

নিয়ন্ত্রক:

public class ClientErrorHandler : FilterAttribute, IExceptionFilter
{
    public void OnException(ExceptionContext filterContext)
    {
        var response = filterContext.RequestContext.HttpContext.Response;
        response.Write(filterContext.Exception.Message);
        response.ContentType = MediaTypeNames.Text.Plain;
        filterContext.ExceptionHandled = true;
    }
}

[ClientErrorHandler]
public class SomeController : Controller
{
    [HttpPost]
    public ActionResult SomeAction()
    {
        throw new Exception("Error message");
    }
}

স্ক্রিপ্ট দেখুন:

$.ajax({
    type: "post", url: "/SomeController/SomeAction",
    success: function (data, text) {
        //...
    },
    error: function (request, status, error) {
        alert(request.responseText);
    }
});

13
এটি প্রশ্নের কোনও "সঠিক" উত্তর নয় তবে এটি অবশ্যই সমস্যার উচ্চ স্তরের সমাধান দেখায় ... দুর্দান্ত!
রায়ান অ্যান্ডারসন

3
আমিও তেমন কিছু করছি। উন্নয়নের বাক্সে সবকিছু শেষ হয়ে গেলে এটি ঠিকঠাক কাজ করে। যদি আমি নেটওয়ার্কে একটি ভিন্ন বাক্স থেকে সংযোগ চেষ্টা করুন, xhr.responseText জেনেরিক ত্রুটি পৃষ্ঠা HTML এবং আমার কাস্টম বার্তা রয়েছে, দেখতে stackoverflow.com/questions/3882752/...
jamiebarrow

6
আমি বিশ্বাস করি আপনারও প্রতিক্রিয়া যুক্ত করা উচিত at স্ট্যাটাসকোড = 500; অনএক্সেপশন পদ্ধতিতে লাইন।
আলেকজান্ডার প্রোকোফিয়েভ

4
আমি এটিকে অভিযোজিত করেছি - যেহেতু আমি 500 টি স্ট্যাটাসকোড চেয়েছিলাম, তবে স্থিতির বিবরণে ("অভ্যন্তরীণ সার্ভার ত্রুটি" না দিয়ে) ব্যতিক্রম বার্তাটি রাখতে - response.StatusCode = (int)HttpStatusCode.InternalServerError;এবংresponse.StatusDescription = filterContext.Exception.Message;
ক্রাম

4
আপনি যদি আইআইএস or বা তার বেশি ব্যবহার করছেন তবে আপনাকে যুক্ত করতে হতে পারে: প্রতিক্রিয়া ry ট্রাইস্কিপআইসিসটম এরিয়্যারস = সত্য;
জেমস গ্যান্ট

97

ServerSide:

     doPost(HttpServletRequest request, HttpServletResponse response){ 
            try{ //logic
            }catch(ApplicationException exception){ 
               response.setStatus(400);
               response.getWriter().write(exception.getMessage());
               //just added semicolon to end of line

           }
 }

মক্কেলের পক্ষে:

 jQuery.ajax({// just showing error property
           error: function(jqXHR,error, errorThrown) {  
               if(jqXHR.status&&jqXHR.status==400){
                    alert(jqXHR.responseText); 
               }else{
                   alert("Something went wrong");
               }
          }
    }); 

জেনেরিক অ্যাজাক্স ত্রুটি পরিচালনা

সমস্ত এজাক্স অনুরোধগুলির জন্য যদি আমাকে জেনেরিক ত্রুটিটি পরিচালনা করার দরকার হয়। আমি এজ্যাক্সরর হ্যান্ডলারটি সেট করব এবং এইচটিএমএল সামগ্রীর শীর্ষে ত্রুটিযুক্ত একটি ত্রুটিযুক্ত ত্রুটিযুক্ত ত্রুটিযুক্ত কনটেন্টারটিতে প্রদর্শন করব।

$("div#errorcontainer")
    .ajaxError(
        function(e, x, settings, exception) {
            var message;
            var statusErrorMap = {
                '400' : "Server understood the request, but request content was invalid.",
                '401' : "Unauthorized access.",
                '403' : "Forbidden resource can't be accessed.",
                '500' : "Internal server error.",
                '503' : "Service unavailable."
            };
            if (x.status) {
                message =statusErrorMap[x.status];
                                if(!message){
                                      message="Unknown Error \n.";
                                  }
            }else if(exception=='parsererror'){
                message="Error.\nParsing JSON Request failed.";
            }else if(exception=='timeout'){
                message="Request Time out.";
            }else if(exception=='abort'){
                message="Request was aborted by the server";
            }else {
                message="Unknown Error \n.";
            }
            $(this).css("display","inline");
            $(this).html(message);
                 });

81

responseTextআপনাকে JSON এ রূপান্তর করতে হবে। JQuery ব্যবহার:

jsonValue = jQuery.parseJSON( jqXHR.responseText );
console.log(jsonValue.Message);

5
+1 'কারণ এটি বর্তমানে এই প্রশ্নের একমাত্র সঠিক উত্তর! ব্যতিক্রম বার্তাটি পেতে আপনি "jsonValue.Message" কল করতে পারেন।
ক্যাপ্টেন সেনসিবল

2
আসলে এটি সঠিক উত্তর নয় কারণ প্রশ্নটি জেএসএন সম্পর্কে জিজ্ঞাসা করে না এবং উদাহরণ অনুরোধটি বিশেষত প্রতিক্রিয়া হিসাবে এইচটিএমএলকে জিজ্ঞাসা করে।
একক শট

+1 সঠিক। দ্রষ্টব্য, jqXHR.responseText (স্ট্রিং) এর মাধ্যমে একটি JSON এনকোডেড অবজেক্ট পাঠানো সাধারণ। তারপরে আপনি কীভাবে প্রয়োজন তা jsonValue অবজেক্টটি ব্যবহার করতে পারেন। কনসোল.লগ (jsonValue) ব্যবহার করে প্রতিক্রিয়া পর্যালোচনা করতে ফায়ারব্যাগ কনসোল ব্যবহার করুন।
jjwdesign

এটি আমাকে 'আনকাচড সিনট্যাক্স এরিয়ার: অপ্রত্যাশিত সংখ্যা'
বেন র্যাকিকট

1
পার্স করা জেএসওএন অবজেক্টটি জেএকএক্সএইচআর বস্তুর প্রতিক্রিয়া জেএসএন সংস্থার মাধ্যমে উপলব্ধ করা হয়েছে। সুতরাং প্রতিক্রিয়া পাঠ্য সম্পত্তিটি পার্স করার দরকার নেই। আপনি কেবল এটি করতে পারেন: কনসোল.লগ (jqXHR.responseJSON.Message)
এরিক ডি'সুজা

37

যদি এসপ.নেটে কল করে, এটি ত্রুটি বার্তার শিরোনাম ফিরিয়ে দেবে:

আমি নিজেই সমস্ত ফর্ম্যাটএরআরমেসেজ লিখিনি তবে আমি এটি খুব দরকারী বলে মনে করি।

function formatErrorMessage(jqXHR, exception) {

    if (jqXHR.status === 0) {
        return ('Not connected.\nPlease verify your network connection.');
    } else if (jqXHR.status == 404) {
        return ('The requested page not found. [404]');
    } else if (jqXHR.status == 500) {
        return ('Internal Server Error [500].');
    } else if (exception === 'parsererror') {
        return ('Requested JSON parse failed.');
    } else if (exception === 'timeout') {
        return ('Time out error.');
    } else if (exception === 'abort') {
        return ('Ajax request aborted.');
    } else {
        return ('Uncaught Error.\n' + jqXHR.responseText);
    }
}


var jqxhr = $.post(addresshere, function() {
  alert("success");
})
.done(function() { alert("second success"); })
.fail(function(xhr, err) { 

    var responseTitle= $(xhr.responseText).filter('title').get(0);
    alert($(responseTitle).text() + "\n" + formatErrorMessage(xhr, err) ); 
})

22

এটি আমি করেছি এবং এটি এখনও পর্যন্ত এমভিসি 5 অ্যাপ্লিকেশনটিতে কাজ করে।

কন্ট্রোলারের রিটার্নের ধরন হ'ল কন্টেন্টের ফলাফল।

public ContentResult DoSomething()
{
    if(somethingIsTrue)
    {
        Response.StatusCode = 500 //Anything other than 2XX HTTP status codes should work
        Response.Write("My Message");
        return new ContentResult();
    }

    //Do something in here//
    string json = "whatever json goes here";

    return new ContentResult{Content = json, ContentType = "application/json"};
}

এবং ক্লায়েন্ট দিকে এটি আজাক্স ফাংশন মত দেখাচ্ছে

$.ajax({
    type: "POST",
    url: URL,
    data: DATA,
    dataType: "json",
    success: function (json) {
        //Do something with the returned json object.
    },
    error: function (xhr, status, errorThrown) {
        //Here the status code can be retrieved like;
        xhr.status;

        //The message added to Response object in Controller can be retrieved as following.
        xhr.responseText;
    }
});

20

যদি কেউ উত্তর হিসাবে 2016 এর মতো এখানে থাকে তবে jQuery 3.0 হিসাবে অবমানিত হিসাবে .fail()ত্রুটি পরিচালনার জন্য ব্যবহার করুন.error()

$.ajax( "example.php" )
  .done(function() {
    alert( "success" );
  })
  .fail(function(jqXHR, textStatus, errorThrown) {
    //handle error here
  })

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


2
jqXHR.error()jQuery 3.0 এ অবচয় করা হয়েছে (আসলে সরানো হয়েছে) , এবং যতদূর জানি আমি errorএবং successকলব্যাকগুলি $.ajax()হ্রাস করা হয়নি।
নিল কনওয়ে

16

একটি সাধারণ / পুনরায় ব্যবহারযোগ্য সমাধান

এই উত্তরটি এই সমস্যার সাথে জড়িত তাদের সকলের ভবিষ্যতের রেফারেন্সের জন্য সরবরাহ করা হয়েছে। সমাধান দুটি জিনিস নিয়ে গঠিত:

  1. কাস্টম ব্যতিক্রম ModelStateException যা সার্ভারে বৈধতা ব্যর্থ হলে ছুঁড়ে ফেলা হয় (মডেল রাজ্য বৈধতা ত্রুটিগুলি যখন আমরা ডেটা টীকা ব্যবহার করি এবং শক্তিশালী টাইপড কন্ট্রোলার অ্যাকশন পরামিতি ব্যবহার করি)
  2. কাস্টম নিয়ামক অ্যাকশন ত্রুটি ফিল্টার HandleModelStateExceptionAttribute যা কাস্টম ব্যতিক্রম ধরা পড়ে এবং শরীরে মডেল স্টেট ত্রুটির সাথে HTTP ত্রুটি স্থিতি প্রদান করে

এটি jQuery আজাক্স কলগুলির successএবং errorহ্যান্ডলারের সাথে তাদের সম্পূর্ণ সম্ভাব্যতা ব্যবহার করার জন্য অনুকূল অবকাঠামো সরবরাহ করে ।

ক্লায়েন্ট পাশের কোড

$.ajax({
    type: "POST",
    url: "some/url",
    success: function(data, status, xhr) {
        // handle success
    },
    error: function(xhr, status, error) {
        // handle error
    }
});

সার্ভার সাইড কোড

[HandleModelStateException]
public ActionResult Create(User user)
{
    if (!this.ModelState.IsValid)
    {
        throw new ModelStateException(this.ModelState);
    }

    // create new user because validation was successful
}

পুরো সমস্যাটি এই ব্লগ পোস্টে বিশদযুক্ত যেখানে আপনি এটি প্রয়োগ করতে সমস্ত কোড খুঁজে পেতে পারেন find


14

আমি এটি দেখতে বেশ ভাল পেয়েছি কারণ সার্ভার থেকে আমি যে বার্তাটি পাঠাচ্ছিলাম তা পার্স করতে পারি এবং স্ট্যাকট্রেস ছাড়াই ব্যবহারকারীর জন্য একটি বন্ধুত্বপূর্ণ বার্তা প্রদর্শন করতে পারি ...

error: function (response) {
      var r = jQuery.parseJSON(response.responseText);
      alert("Message: " + r.Message);
      alert("StackTrace: " + r.StackTrace);
      alert("ExceptionType: " + r.ExceptionType);
}

10

 error:function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
কোড ত্রুটিতে অ্যাজাক্স অনুরোধ ধরার ত্রুটির জন্য ক্লায়েন্টের সাথে সার্ভারের সাথে সংযোগ স্থাপন করতে চান যদি আপনি নিজের অ্যাপ্লিকেশনটির ত্রুটি বার্তাটি সাফল্যের সুযোগে প্রেরণ করতে চান

যেমন

success: function(data){
   //   data is object  send  form server 
   //   property of data 
   //   status  type boolean 
   //   msg     type string
   //   result  type string
  if(data.status){ // true  not error 
         $('#api_text').val(data.result);
  }
  else 
  {
      $('#error_text').val(data.msg);
  }

}


7

এটি সম্ভবত JSON ক্ষেত্রের নামগুলির উদ্ধৃতি চিহ্ন না থাকার কারণে ঘটে।

এর থেকে জেএসএন কাঠামোটি পরিবর্তন করুন:

{welcome:"Welcome"}

প্রতি:

{"welcome":"Welcome"}

1
কীটি জেএসে সংরক্ষিত শব্দ না হওয়া পর্যন্ত এটি বিবেচনা করা উচিত না। আমি এখানে এই সমস্যা হচ্ছে না।
জন গিব

1
JSON.stringify ({স্বাগত: "স্বাগতম"}) -> welcome "স্বাগত": "স্বাগতম"
Th

5

আমি বিশ্বাস করি যে আজাক্স প্রতিক্রিয়া হ্যান্ডলারটি কোনও ত্রুটি হয়েছে কিনা তা পরীক্ষা করতে HTTP স্থিতি কোড ব্যবহার করে।

সুতরাং আপনি যদি কেবল নিজের সার্ভারের পাশের কোডটিতে জাভা ব্যতিক্রম ছুঁড়ে ফেলে থাকেন তবে HTTP প্রতিক্রিয়াটির 500 টি স্ট্যাটাস কোড নেই jQuery (অথবা এই ক্ষেত্রে সম্ভবত XMLHttpRequest অবজেক্ট) কেবল ধরে নেওয়া হবে যে সবকিছু ঠিক আছে।

আমি এটি বলছি কারণ আমার এএসপি.নেটে একইরকম সমস্যা ছিল যেখানে আমি একটি আর্গুমেন্টএক্সেপশন ("কী করব জানি না ...") এর মতো কিছু নিক্ষেপ করছিলাম তবে ত্রুটি হ্যান্ডলারটি গুলি চালাচ্ছে না।

তারপরে Response.StatusCodeআমার ত্রুটি ছিল কিনা তা আমি 500 বা 200 তে সেট করে রেখেছি।


5

jQuery.parseJSON সাফল্য এবং ত্রুটির জন্য দরকারী।

$.ajax({
    url: "controller/action",
    type: 'POST',
    success: function (data, textStatus, jqXHR) {
        var obj = jQuery.parseJSON(jqXHR.responseText);
        notify(data.toString());
        notify(textStatus.toString());
    },
    error: function (data, textStatus, jqXHR) { notify(textStatus); }
});

5

Xhr অবজেক্টে আপনার ফেলে দেওয়া ব্যতিক্রমের একটি JSON অবজেক্ট রয়েছে। শুধু ব্যবহার

alert(xhr.responseJSON.Message);

JSON অবজেক্টটি আরও দুটি বৈশিষ্ট্য প্রকাশ করে: 'এক্সসেপশনটাইপ' এবং 'স্ট্যাকট্রেস'



4

এই ফাংশনটি মূলত অনন্য এলোমেলো এপিআই কী তৈরি করে এবং যদি ত্রুটি বার্তা সহ পপ-আপ ডায়লগ বাক্সটি উপস্থিত না হয় তবে ক্ষেত্রে

দেখুন পৃষ্ঠায়:

<div class="form-group required">
    <label class="col-sm-2 control-label" for="input-storename"><?php echo $entry_storename; ?></label>
    <div class="col-sm-6">
        <input type="text" class="apivalue"  id="api_text" readonly name="API" value="<?php echo strtoupper(substr(md5(rand().microtime()), 0, 12)); ?>" class="form-control" />                                                                    
        <button type="button" class="changeKey1" value="Refresh">Re-Generate</button>
    </div>
</div>

<script>
$(document).ready(function(){
    $('.changeKey1').click(function(){
          debugger;
        $.ajax({
                url  :"index.php?route=account/apiaccess/regenerate",
                type :'POST',
                dataType: "json",
                async:false,
                contentType: "application/json; charset=utf-8",
                success: function(data){
                  var result =  data.sync_id.toUpperCase();
                        if(result){
                          $('#api_text').val(result);
                        }
                  debugger;
                  },
                error: function(xhr, ajaxOptions, thrownError) {
                  alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                }

        });
    });
  });
</script>

নিয়ামক থেকে:

public function regenerate(){
    $json = array();
    $api_key = substr(md5(rand(0,100).microtime()), 0, 12);
    $json['sync_id'] = $api_key; 
    $json['message'] = 'Successfully API Generated';
    $this->response->addHeader('Content-Type: application/json');
    $this->response->setOutput(json_encode($json));
}

Loadচ্ছিক কলব্যাক প্যারামিটার লোড () পদ্ধতিটি সম্পূর্ণ হওয়ার পরে চালানোর জন্য একটি কলব্যাক ফাংশন নির্দিষ্ট করে। কলব্যাক ফাংশনে বিভিন্ন পরামিতি থাকতে পারে:

প্রকার: ফাংশন (jqXHR jqXHR, স্ট্রিং টেক্সটস্ট্যাটাস, স্ট্রিং ত্রুটি ট্র্রাউন)

অনুরোধ ব্যর্থ হলে কল করতে একটি ফাংশন। ফাংশনটি তিনটি আর্গুমেন্ট গ্রহণ করে: জেএকএক্সএইচআর (jQuery 1.4.x, এক্সএমএলএইচটিপিআরকোয়েস্ট) অবজেক্ট, একটি স্ট্রিং যা ঘটেছে ত্রুটির ধরণের বর্ণনা দেয় এবং andচ্ছিক ব্যতিক্রম বস্তু যদি ঘটে থাকে তবে। দ্বিতীয় আর্গুমেন্টের জন্য সম্ভাব্য মানগুলি (নাল ছাড়াও) হ'ল "টাইমআউট", "ত্রুটি", "পরিত্যাগ" এবং "পার্সেরেরর"। যখন কোনও HTTP ত্রুটি দেখা দেয়, ত্রুটিটি ট্রাউইন HTTP স্থিতির পাঠ্য অংশ যেমন "পাওয়া যায় না" বা "অভ্যন্তরীণ সার্ভার ত্রুটি" গ্রহণ করে। JQuery 1.5 হিসাবে, ত্রুটি সেটিং ফাংশনগুলির একটি অ্যারে গ্রহণ করতে পারে। প্রতিটি ক্রিয়াকলাপ ঘুরে বলা হবে। দ্রষ্টব্য: এই হ্যান্ডলারটি ক্রস-ডোমেন স্ক্রিপ্ট এবং ক্রস-ডোমেন জেএসএনপি অনুরোধের জন্য কল করা হয় না।


3

ব্যবহার করে সার্ভারে একটি নতুন ব্যতিক্রম নিক্ষেপ করুন:

প্রতিক্রিয়া.স্ট্যাটাসকোড = 500

প্রতিক্রিয়া। স্ট্যাটাসডেসক্রিপশন = প্রাক্তন

আমি বিশ্বাস করি যে স্থিতির বিবরণটি আজাক্স কলটিতে ফিরে এসেছে ...

উদাহরণ:

        Try

            Dim file As String = Request.QueryString("file")

            If String.IsNullOrEmpty(file) Then Throw New Exception("File does not exist")

            Dim sTmpFolder As String = "Temp\" & Session.SessionID.ToString()

            sTmpFolder = IO.Path.Combine(Request.PhysicalApplicationPath(), sTmpFolder)

            file = IO.Path.Combine(sTmpFolder, file)

            If IO.File.Exists(file) Then

                IO.File.Delete(file)

            End If

        Catch ex As Exception

            Response.StatusCode = 500

            Response.StatusDescription = ex.Message()

        End Try

2

যদিও এই প্রশ্নটি জিজ্ঞাসা করার পরে অনেক বছর xhr.responseTextকেটে গেছে , তবুও আমি যে উত্তরটি খুঁজছিলাম তা এখনও খুঁজে পাচ্ছি না । এটি আমাকে নিম্নলিখিত ফর্ম্যাটে স্ট্রিং ফিরিয়ে দিয়েছে:

"{"error":true,"message":"The user name or password is incorrect"}"

যা আমি অবশ্যই ব্যবহারকারীদের কাছে দেখাতে চাই না। আমি যা খুঁজছিলাম তা নীচের মতো কিছু:

alert(xhr.responseJSON.message);

xhr.responseJSON.message আমাকে জসন অবজেক্ট থেকে সঠিক বার্তা দেয় যা ব্যবহারকারীদের দেখানো যেতে পারে।


1
$("#fmlogin").submit(function(){
   $("#fmlogin").ajaxError(function(event,xhr,settings,error){
       $("#loading").fadeOut('fast');       
       $("#showdata").fadeIn('slow');   
       $("#showdata").html('Error please, try again later or reload the Page. Reason: ' + xhr.status);
       setTimeout(function() {$("#showdata").fadeOut({"opacity":"0"})} , 5500 + 1000); // delays 1 sec after the previous one
    });
});

কোনও ফর্ম থাকলে বৈধতার সাথে জমা দেওয়া হয়

কেবল বাকী কোডটি ব্যবহার করুন

$("#fmlogin").validate({...

... ... });


0

প্রথমে আমাদের ওয়েব-কনফিগে <পরিষেবাডিবগ অন্তর্ভুক্তএক্সেপশনডেটাইলআইএনএফএল্টস = "সত্য" /> সেট করতে হবে:

<serviceBehaviors> 
 <behavior name=""> 
  <serviceMetadata httpGetEnabled="true" /> 
    **<serviceDebug includeExceptionDetailInFaults="true" />** 
 </behavior> 
</serviceBehaviors>

ত্রুটির অংশে jquery পর্যায়ে ছাড়াও আপনাকে ত্রুটি প্রতিক্রিয়া পার্স করতে হবে যাতে ব্যতিক্রমগুলি রয়েছে:

.error(function (response, q, t) { 
  var r = jQuery.parseJSON(response.responseText); 
}); 

তারপরে r.Message ব্যবহার করে আপনি বাস্তবে ব্যতিক্রম পাঠ্য প্রদর্শন করতে পারেন।

সম্পূর্ণ কোড চেক করুন : http://www.codegateway.com/2012/04/jquery-ajax-handle-exception-thrown-by.html

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