2010-11-18 60 views
5

Tôi đang làm một cuộc gọi Ajax từ site.com/users/{username}jQuery Ajax URL

tôi muốn truy cập vào url site.com/account/deleteComment nhưng khi tôi kiểm tra trong Firebug nó là cố gắng truy cập site.com/users/account/deleteComment

đây là mã của tôi

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

Trả lời

14

Vâng, sau đó ../../ đang diễn ra để làm thủ thuật, phải không?

Điều đó nói rằng, có thể nên sử dụng URL tuyệt đối tại đây.

url: "/account/deleteComment/" + deleteID, 

điều này sẽ giúp bạn dễ dàng di chuyển ứng dụng của mình vào thư mục con, nhưng trong hầu hết các trường hợp, đó không phải là vấn đề.

+0

vâng. nhưng không có cách nào tuyệt đối để sử dụng URL? –

+0

ouch. sẽ thử nó –

+0

có vẻ như nó hoạt động. trên máy chủ địa phương tôi đang có ứng dụng của tôi tại localhost/project/do đó, nó sẽ đến localhost/account/deleteComment là có một cách để làm cho nó hoạt động từ bất kỳ nơi nào. Tôi chắc chắn nó sẽ làm việc trên máy chủ: D –

1

Thay đổi URL:

/account/deleteComment/ 

Bằng cách đó nó sẽ đi đến đường dẫn gốc:

site.com/account/deleteComment 
1

Tôi vừa có một vấn đề tương tự trong một trong những ứng dụng của tôi.
Các giải pháp tôi sử dụng là

$.url("Config/GetEnvironment") 

Trong đó bao giờ thư mục Tôi đang trong URL được trả lại một cách chính xác.

0

URL tuyệt đối là một ý tưởng hay trong ajax nhưng đây là cách tốt hơn và dễ dàng hơn. Chỉ cần khai báo var siteURL = www.example.com; trên toàn cầu. Và sử dụng điều này trong mọi yêu cầu ajax như dưới đây.

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

Nói chung, tôi đã khai báo trong tệp chỉ mục chính hoặc cấu hình của tệp JS.

0

bạn có thể sử dụng location.origin cho địa chỉ cơ sở 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"); 
 
     } 
 
    });