1

$.ajax外部の ASP.NET MVC サイト (この場合は自分のサイト) からデータを取得したいと考えています。以下のコードは、404 Not Found error(もちろんurl有効です。

しかし、URL を から に変更すると、url: 'http://myurl.com/Home/GetMyCode/?id=mycode'すべてurl: 'http://localhost:123/Home/GetMyCode/?id=mycode'問題ありません。それで、それを修正する方法は?

 $.ajax({
        url: 'http://myurl.com/Home/GetMyCode/?id=mycode',
        type: 'POST',
        contentType: "application/json; charset=utf-8",
        crossDomain: true,
        success: function (res) {
            ...
        },
        error: function (jqXHR, textStatus, errorThrown) {
            ...
        }
    });


    [HttpPost]
    public JsonResult GetMyCode(string id)
    {
        try 
        {
            return Json(new { result = "ok", resultData = "OK") });
        }
        catch (Exception e)
        {
            return Json(new { result = "error", resultData = "An error occured" });
        }            
    }
4

4 に答える 4

2

クロスドメイン Ajax 呼び出しを処理する 2 つの方法:

JSONP: クロスドメイン アクセスの現在の標準

JSONP は、一部のサイトで使用されている規則であり、外部ドメインからであっても、呼び出し元がスクリプトを介してデータを簡単に使用できるようにコンテンツを公開します。その秘訣は、プレーンな文字列としてではなく、スクリプト関数呼び出しにラップされた JSON コンテンツをサイトに返させることです。詳細については..

クロスオリジン リソース共有 (CORS)

cors をまだサポートしていないがクロスドメイン XHR リクエスト (Windows ガジェットなど) を許可する環境でクロスドメイン リクエストを有効にするには $.support.cors = true; 、クロスドメイン XHR リクエストが可能な環境にいることを jQuery に伝えます。

于 2012-12-12T03:26:15.940 に答える
1

In order to retrieve data crossdomain, you probably need to use 'jsonp'

于 2012-12-12T03:11:05.287 に答える
0

そのチュートリアルは私のために機能しました、私は私のMVCプロジェクトでJSONP処理を実装しなければなりませんでした。 http://www.codeguru.com/csharp/.net/net_asp/using-jsonp-in-asp.net-mvc.htm

于 2012-12-12T15:12:52.517 に答える
0

DNSの問題である可能性があるようです。http://myurl.comにアクセスできますか?

アクセスしようとしている .com ドメインは一般にアクセス可能ですか? それともローカルホストへのループバックですか?

于 2012-12-11T22:16:50.147 に答える