最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to print output when ajax method returns error? - Stack Overflow

programmeradmin4浏览0评论

i have $.ajax method like this

<form class="hidden code-box" method="GET" name="sample">
<div dir="ltr"><textarea class="php" name="codeguru"></textarea></div>
<div class="hint">This code is editable. Click Run to execute.</div>
<input type="submit" value="Run" />
<img class="hidden" style="vertical-align: middle;" alt="Try PHP  " src=".gif" name="ajax-loader" title="Try PHP " />
<div class="hidden stdout"></div>
<div class="hidden stderr"></div>
</form>

$.ajax({
            type: 'GET',
            url: '/exec.php',
            dataType: 'JSONP',
            data: {code : code},
            success: function(data) 
            {
                //alert(data.result);
                var data = data.result;
                $(loader).addClass('hidden');
                var stdout = $(form).children('.stdout');
                if (data.search("Parse error")>0)
                {
                    var str = data.replace('<b>Parse error</b>:  ','');
                    $(stdout).html(str);
                    $(stdout).removeClass('hidden');    
                }   
                else
                {
                    $(stdout).html(data);
                    $(stdout).removeClass('hidden');
                }   
            },
            jsonpCallback: 'mycallback',
            error: function (xhr, ajaxOptions, thrownError,err,textStatus) {
                var stdout = $(form).children('.stdout');
                alert (stdout);
                $stdout.html("Fatal error generated!!! Please check your code");
                $stdout.removeclass('hidden');
            }
        });

Now i want to print the error generated because of $.ajax method. and i have tried this.

error: function (xhr, ajaxOptions, thrownError,err,textStatus) {
                    var stdout = $(form).children('.stdout');
                    alert (stdout);
                    $stdout.html("Fatal error generated!!! Please check your code");
                    $stdout.removeclass('hidden');
                }

Please help

i have $.ajax method like this

<form class="hidden code-box" method="GET" name="sample">
<div dir="ltr"><textarea class="php" name="codeguru"></textarea></div>
<div class="hint">This code is editable. Click Run to execute.</div>
<input type="submit" value="Run" />
<img class="hidden" style="vertical-align: middle;" alt="Try PHP  " src="http://code.guru99./img/ajax-loader.gif" name="ajax-loader" title="Try PHP " />
<div class="hidden stdout"></div>
<div class="hidden stderr"></div>
</form>

$.ajax({
            type: 'GET',
            url: '/exec.php',
            dataType: 'JSONP',
            data: {code : code},
            success: function(data) 
            {
                //alert(data.result);
                var data = data.result;
                $(loader).addClass('hidden');
                var stdout = $(form).children('.stdout');
                if (data.search("Parse error")>0)
                {
                    var str = data.replace('<b>Parse error</b>:  ','');
                    $(stdout).html(str);
                    $(stdout).removeClass('hidden');    
                }   
                else
                {
                    $(stdout).html(data);
                    $(stdout).removeClass('hidden');
                }   
            },
            jsonpCallback: 'mycallback',
            error: function (xhr, ajaxOptions, thrownError,err,textStatus) {
                var stdout = $(form).children('.stdout');
                alert (stdout);
                $stdout.html("Fatal error generated!!! Please check your code");
                $stdout.removeclass('hidden');
            }
        });

Now i want to print the error generated because of $.ajax method. and i have tried this.

error: function (xhr, ajaxOptions, thrownError,err,textStatus) {
                    var stdout = $(form).children('.stdout');
                    alert (stdout);
                    $stdout.html("Fatal error generated!!! Please check your code");
                    $stdout.removeclass('hidden');
                }

Please help

Share Improve this question asked Dec 16, 2013 at 10:12 user2372214user2372214 2
  • possible duplicate of Parsing JSONP Response in Javascript when 4xx or 5xx Http Error Code is Present – Quentin Commented Dec 16, 2013 at 10:19
  • This is not duplicate sir – user2372214 Commented Dec 16, 2013 at 10:22
Add a ment  | 

2 Answers 2

Reset to default 3

Try this:

$( document ).ajaxError(function( event, request, settings ) {
console.log(settings.url);
});

or

$.ajax({
            type: 'GET',
            url: '/exec.php',
            dataType: 'JSONP',
            data: {code : code},
            success: function(data) 
            {
            },
            error: function(ts) { console.log(ts.responseText) }
});

well you don't need $ in stdout since it is already a jquery object..

try this

 error: function (xhr, ajaxOptions, thrownError,err,textStatus) {
            var stdout = $(form).children('.stdout'); //here stdout is jquery object
            alert (stdout);
            stdout.html("Fatal error generated!!! Please check your code"); 
       //--^---notice missing $ here
            stdout.removeClass('hidden');
            //-----------^----- here notice uppercase `C`
 }
发布评论

评论列表(0)

  1. 暂无评论