15
$.ajax({
        url: 'http://intern-dev01:50231/api/language',
        type: 'GET',
        dataType: 'json',
        success: function() {
            console.log('It Works!');
        },
        error: function (request,status, error) {
            console.log(error);
            alert(status);
        }
    });

この ajax 呼び出しが機能しないのはなぜですか?? ブラウザで呼び出すと、正常に動作します:/。

これはフィドラーが返すものです:

HTTP/1.1 200 OK
Content-Length: 122
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 26 Apr 2013 06:56:40 GMT

[{"LanguageId":1,"LanguageName":"Dansk"},{"LanguageId":2,"LanguageName":"Tysk"},{"LanguageId":3,"LanguageName":"Engelsk"}]
4

5 に答える 5

8

ステータスが 200 OK を示しているため、解析エラーがあります。問題は datatype:json にあります。これをテストするには、行を削除すると動作するはずです。これを修正するには、datatype:text に変更します。同様の質問については、このリンクも参照してください

于 2015-06-09T11:21:28.193 に答える
0

別の Web アプリと Web API アプリケーションを使用してローカルでテストしている場合は、アプリケーションをデバッグし、API がデータを正しく送信し、アプリが AJAX 経由で API を呼び出してデータを返すことをテストします。

実行アプリケーションの AJAX 呼び出しが成功関数にヒットしない場合、ドメインは似ていないためです。ブラウザが阻止するからです Cross Site request。アプリを local と debug の両方で公開すると、正常に動作します。

これが誰かの役に立てば幸いです。

于 2016-08-11T07:52:57.337 に答える