2012-01-04 26 views
5

Tôi có một trang web wordpress và muốn tải các trang của mình bằng jquery. Tôi chỉ muốn tải div nội dung, vì vậy tôi chuyển thông tin này url như thế này:Chỉ tải một phần của trang bằng jquery

var url = $(this).attr('href') + "#content"; 

Bây giờ khi tôi cố gắng để tải trang bằng cách sử dụng ajax nó tải các url mà không cần phần # content. Bây giờ nó tải trang hoàn chỉnh vào div của tôi thay vì chỉ một phần mà tôi muốn.

Có lẽ nó có cái gì để làm với .htaccess của tôi:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
# RewriteRule ^index\.php$ - [L] 
RewriteRule ^(index\.php/?|intro.html)$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

Bất kỳ ý tưởng?

+3

Các Phần '#' của url chỉ dành cho trình duyệt, nó không được gửi đến máy chủ. – biziclop

+0

Câu hỏi này có liên quan rất chặt chẽ với câu hỏi được hỏi trước đó: https://stackoverflow.com/questions/2137811/extract-part-of-html-document-in-jquery –

Trả lời

4

Bạn có thể sử dụng một cái gì đó như thế:

$.get(url,function(response){ 
content = $("#content",response); 
$('#newContentHere').append(content); 
}); 
0

bạn sẽ phải phân tích cú pháp dữ liệu được trả về bằng cuộc gọi ajax với jquery.

Vì vậy, nếu div bạn muốn hiển thị trên trang của bạn có id là "kết quả", chức năng thành công của bạn sẽ giống như thế này:

success: function(data) { 
    $("content").html($(data).find("results").html()); 
} 
4

Tôi nghĩ rằng bạn cần một không gian trước khi băm.

Đây là một .load() ví dụ từ các tài liệu jQuery:

$('#b').load('article.html #target'); 

như vậy trong trường hợp của bạn:

var url = $(this).attr('href') + " #content"; 

$('#containerDiv').load(url); 
Các vấn đề liên quan