1

私は数週間で約 100 人のソフトウェア開発者のグループに Lightswitch のデモを行う準備をしていますが、問題が発生しました。

2 つのプロジェクトを持つ VS2012 ソリューションがあります。

  • Lightswitch - シンプルなデータ モデルと ApplicationData.svc
  • Web - JQuery Ajax を使用して ApplicationData.svc と通信しようとする Web ページが含まれています。

私の問題は、ソリューションを実行して AJAX コマンドを実行しようとすると、次のエラーが発生することです。

XMLHttpRequest cannot load http://localhost:37650/ApplicationData.svc/MyEntities.  Origin
http://localhost:53408 is not allowed by Access-Control-Allow-Origin.

しばらくグーグルで調べた後、有望そうな次のアドバイスを見つけました。

<system.webServer> 
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders>
  </httpProtocol>
</system.webServer> 

しかし、それは問題を解決しませんでした。何か案は?

ありがとう!

4

3 に答える 3

1

私はこれで同じ問題を解決しました:

<httpProtocol>
    <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Max-Age" value="3600" />
        <add name="Access-Control-Allow-Headers" value="Content-Type, Accept, MaxDataServiceVersion" />
        <add name="Access-Control-Allow-Methods" value="PUT, POST, GET, DELETE, MERGE, OPTIONS" />
    </customHeaders>
</httpProtocol>
于 2012-10-01T20:12:20.313 に答える
1

以下を追加する必要がある場合があります。

headers: { "If-Match": " *" }

見る:

.Html ページのみを使用した完全な CRUD DataJs および KnockoutJs LightSwitch の 例Only-An-Html-Page.aspx

于 2012-10-01T00:32:36.897 に答える
0

私は同じ問題に直面していますが、私の唯一の問題は、WebアプリケーションではないHTML5JQueryMobileアプリケーションを作成していることです。このアプリは、PhoneGapを介して実行するJQueryベースのアプリです。私の問題は、モバイルアプリから電話をかけると、同じクロスドメインの問題が発生することです。

テストに使用しているブラウザは何ですか?Chromeを使用していますが、最初のオプションリクエストが原因で問題が発生します(http://www.w3.org/TR/cors/を参照)。設定ファイルの更新など、考えられる解決策をたくさん試しましたが、役に立ちませんでした。

猫での次のキックは、使用しているWCFサービスに属性として適用できるIHttpHandlerを作成することにより、最初のオプション要求をインターセプトすることです(LightSwitchソリューションのサーバープロジェクト内にカスタムWCFサービスを作成したことを述べました) ?)。

私はあなたを投稿し続けます...

ポール

于 2012-10-01T18:28:30.047 に答える