1

私は次のようなAJAXリクエストを行っています:

$("#botao_pesquisar_material").click(function(){
    $(this).attr("disabled", "disabled");
    $("#material").addClass('loading');
    $.ajax({
        url: '{{ URL::base() }}/material/lista_ajax/',
        dataType: 'json',
        cache: false,
        error: function(data)
        {
            console.log(data);
        },
        success: function(data) {
            for(x in data)
            {
                console.log(data[x]);
            }
        }
    });

私のPHPメソッドは、URL経由でアクセスすると、期待されるJSONが返され、ローカルホストでこれを呼び出すと完全に機能するため、データに特殊文字などが含まれていないため、問題ありません。

これをサーバーで実行すると、次のようになります。

GET http://dc.portaldeideias.com.br:8080/sergios/public/material/lista_ajax/?callback=jQuery172007718208665028214_1342725644520&_=1342725649090 500 (Internal Server Error) jquery.js:4
f.support.ajax.f.ajaxTransport.send jquery.js:4
f.extend.ajax jquery.js:4
$.click.$.ajax.url
f.event.dispatch jquery.js:3
f.event.add.h.handle.i

使用するconsole.log(data)と、JSON応答全体が得られますが、これが本当に奇妙なことです。

readyStateです_4

responseTextです_[{"attributes":{"pk_a030_id":78,"a030_descricao":"Camur\u00e7a"},"original":{"pk_a030_id":78,"a030_descricao":"Camur\u00e7a"},"relationships":[],"exists":true,"includes":[]}]

statusTextです_Internal Server Error

したがって、要求された値が作成されますが、私はInternal Server Error

4

1 に答える 1

0

これを回答として投稿して申し訳ありませんが、質問へのコメントとしてこれを追加するために必要な権限がありません。

http://localhost:8080/sergios/public/material/lista_ajax/javascriptログのURLがスクリーンショットで提供されているものと異なることに気づきましたhttp://dc.p[...]s.com.br:8080/sergios/public/material/lista_ajaxか?

2つの異なるバージョンのPHPメソッドが2つの異なるサーバー(おそらく1つはリモートでもう1つはローカル)でホストされている場合があります。そのlista_ajaxため、ブラウザーから見ると問題なく動作し、ajaxでテストするとバグが発生します。 ?

localhostまた、リモートサーバーでホストされているWebサイトを閲覧していて、ajaxがアドレスに構成されている場合、リモートサーバーではなく自分のマシンに対してリクエストを実行することに注意することも重要です(javascriptはブラウザーで実行されるため、localhost変換されます独自のクライアントアドレスに)。

そうではないかもしれませんが、コメントする価値がありました。

于 2012-07-18T04:09:56.817 に答える