2010-11-18 13 views
5

私は私がsite.com/account/deleteComment URL にアクセスしたいが、私は放火犯をチェックイン時に、それはあるsite.com/users/{username}jQueryのAjaxのURL

からAjax呼び出しをしていますsite.com/users/account/deleteCommentここ

にアクセスしようとすると、

$.ajax({ 
     url: "../account/deleteComment/" + deleteID, 
     success: function() { 
      $("#comment-" + deleteID).slideUp("fast"); 
     } 
    }); 

答えて

14

さて、その後、../../が起こっている私のコードですそのトリックをするのですか?

つまり、ここでは絶対URLを使用することをお勧めします。

これにより、アプリケーションを簡単にサブフォルダに移動することができますが、ほとんどの場合問題ありません。

+0

はいを​​location.originを使用することができます。 URLを使用する絶対的な方法はありませんか? –

+0

よろしくお願いいたします。試してみると –

+0

のように見えます。ローカルホスト上で私は自分のアプリケーションをlocalhost/projectに持っていますので、localhost/account/deleteCommentに行くと、どこからでも動作させることができます。 D –

1

変更URLに:それはルート・パスに行くよ

/account/deleteComment/ 

その方法:

site.com/account/deleteComment 
1

は、私はちょうど私のアプリケーションの一つで同様の問題を持っていました。私が使用し
解決策は、私はURLで午前、これまでのディレクトリが正しくレンダリングされ

$.url("Config/GetEnvironment") 

ました。

0

ajaxでは絶対URLは良いアイデアですが、これはより簡単で便利です。 var siteURL = www.example.com;がグローバルに宣言されました。 これはすべてajaxのリクエストで以下のように使用されます。

<script> 
$.ajax({ 
    url: siteURL + '/path/to/file', 
    type: 'POST', 
    data: {param1: 'value1'}, 
}); 
</script> 

通常、JSファイルのメインインデックスファイルまたはconfigで宣言しました。

0

あなたは、getベースアドレスのため

var deleteID; 
 
$.ajax({ 
 
     url:location.origin + "/account/deleteComment/" + deleteID, 
 
     success: function() { 
 
      $("#comment-" + deleteID).slideUp("fast"); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

$.ajax({ 
 
     url:location.origin + "/account/deleteComment/" + deleteID, 
 
     success: function() { 
 
      $("#comment-" + deleteID).slideUp("fast"); 
 
     } 
 
    });