2012-06-20 3 views
2

У меня возникла проблема на моем сайте, где я пытаюсь загрузить содержимое файла PHP в <div>. Я исключил возможность, что это проблема на стороне сервера, поэтому это приводит меня к моему вопросу. Можете ли вы найти что-то не так со следующим кодом?Проблема при использовании функции jQuery .load()

<script> 
$('.navigation .responsive .menu ul li a').click(function() 
{ 
    var toLoad = $(this).attr('href'); 
    $(".content").load(window.location.host + "/index.php?url=" + toLoad); 
}); 
</script> 

Я знаю, что по соображениям безопасности, браузеры не позволяют .load() для загрузки контента с внешних доменов; однако, будет использовать вопрос window.location.host, поскольку это тот же домен?

+2

Что происходит? Это дает вам ошибку? Это просто пусто? Вы пытались удалить «window.location.host»? Вам это действительно не нужно. – Cfreak

+1

Должен ли не весь этот код находиться в функции document.ready? – Connor

+0

@ Консоль: Нет, если это после элементов, о которых идет речь. – Ryan

ответ

2

window.location.host только включает в себя имя хоста, а не протокол, который необходим. Включите это тоже:

$(".content").load(window.location.protocol + '//' + window.location.host + "/index.php?url=" + toLoad); 

Конечно, вам, вероятно, это даже не нужно; ведущий / доставит вам абсолютный URL-адрес:

$(".content").load("/index.php?url=" + toLoad); 
+0

Вы также можете использовать 'window.location.origin', но только в браузерах на основе WebKit. – Ryan

+0

Вот и все! : D Спасибо, ребята, за быстрое решение !!! –

1

Попробуйте использовать window.location.hostname в window.location.host также включает в себя номер порта, а иногда и другие символы

Смежные вопросы