2016-04-04 22 views
0

同じ問題でいくつか質問がありますが、解決策が見つからないことを知っています.JavascriptやIISをかなり新しくしています。JavascriptがIISで動作していない

MVCアプリケーションには、Visual Studio IIS Expressを使用してローカルで実行すると、何の問題もなく処理されるJavaスクリプトがいくつかあります。また、同じコードで公開したIISサイトもあります。 Javaスクリプト以外はすべて正常に動作します。

<script src="@Url.Content("~/Scripts/jquery-1.10.2.min.js")" type="text/javascript"></script> 

そして、次のJavaScriptは、私が実行しようとしていますものです:私はそうのように表示カミソリで私のスクリプトを含めています。

<script> 
function executeQuery() { 
    var url = "/Application/CheckMobileResponse"; 
    debugger; 


    $.get(url, { applicationId: @Model.ApplicationId, userId : @Model.UserId }, function(response) { 
     debugger; 
     //doing some stuff 

    }); 
    setTimeout(executeQuery, 3000); 
} 

$(document).ready(function() { 
    setTimeout(executeQuery, 3000); 
}); 

基本的に私は3秒ごとにアクションを呼び出すと、私は新しいビューにリダイレクトするwindow.location.hrefを使用しています応答に依存しています。

次のようにGoogleのクロムのコンソールウィンドウに、私は404サーバーの応答エラーを取得していますので、私はかなり混乱しています:

は、リソースの読み込みに失敗しました:サーバーは404 の状態で応答(見つかりませんでした)jqueryの-1.10.2.jsを:それはフィンであるように8720

GET http://localhost/Application/CheckMobileResponse?applicationId=1&userId=5 404(見つかりません)

この私には見えますJqueryファイルを読み込んでいると、javascriptファイルをロードできない場合があります。しかし、GETリクエストで私のアクションが見つからないため、代わりに失敗しています(Visual Studio IIS Expressで完全に機能するので、これは奇妙です)

私は本当に立ち往生し、どんな助けもありがとうございました。

+0

あなたのサイトのベースURLは何ですか? – Shyju

+0

localhost/AppDashboard? – jjharrison

+0

セキュリティ上の問題である可能性が最も高いですが、web.configは 'scripts'フォルダから' .js'ファイル拡張子コンテンツの取得を許可していない可能性があります。または、プロジェクトを公開したIISフォルダを確認し、スクリプトがディスク上に実際に存在することを確認してください。 – Igor

答えて

2

404エラーは、アクセスしようとしているURLが存在しないか見つかりませんでした。

あなたのコメントから、あなたのサイトのベース名はlocalhost/AppDashboardです。しかし、あなたのコードを実行するとき、それはhttp://localhost/Application/CheckMobileResponseを呼び出そうとしています。 AppDashboardがありません! URLの一部。

あなたはそのようなアクションメソッドへのパスをハードコーディングするべきではありません。アクションメソッドへの正しいURLを生成するには、常にUrl.Actionヘルパーメソッドを使用してみてください。この方法で、あなたのコードが動作します(適切なURLを生成します)にかかわらずどのページ/パスのユーザーが現在ある。

var url = "@Url.Action("CheckMobileResponse","Application")"; 

ページをレンダリングするとき、かみそりはUrl.Actionメソッドを実行し、生成されます。 url。あなたが上記のコードをかみそりの中に入れれば、それはうまくいくでしょう。しかし、あなたのjsコードが外部のjsファイルの中にある場合は、this postで説明されている解決方法に従ってください。

+1

絶対的な人生の節約になりました...これは私が愚かな気分にさせています。私はこのような問題を避けるためには、URLヘルパーが必須であることをたくさん読んでいます。ありがとうございました – jjharrison

関連する問題