2016-09-13 2 views
1

У меня есть файл PHP на моем сервере, который хранит одну строку <div id="username">my.username</div>. URL-адрес: http://intranet/text.php.Открытый простой PHP-файл с Javascript/jQuery

Я хотел бы использовать jQuery/Javascript для чтения этого файла и получения этого значения элемента.

Я попытался собрать что-то вместе , но не знаю, как открыть файл с помощью JS.

'use strict'; 

var template = '<div id="username">replace-me</div>'; 

var output = document.createElement('div'); 

output.innerHTML = template; 
output.querySelector('#username').innerHTML = 'get replaced'; 

console.log(output.innerHTML); 
+4

Попробуйте использовать Ajax для вывода результатов PHP-страницы. –

+0

@RomanHocke Спасибо за это. У вас есть пример чего-то подобного или я должен просто Google? :) – michaelmcgurk

+1

Это выглядит хорошо: http://jsfiddle.net/sarathsprakash/N7avm/4/ – michaelmcgurk

ответ

1

Вы можете использовать jQuery .load() метод:

$('#username').load('http://intranet/text.php #username'); 

Это должно загрузить содержимое, удаляющие <div> в ваш старый <div>.


Как это работает:

  • Бит $('#username') будет выбрать элемент с идентификатором username внутри вашей страницы.
  • Метод загрузки, когда вы передаете строку, попытается загрузить HTML из удаленного места, разделив строку на пробел. (Внутри он будет использовать $.get по URL-адресу)
  • Бит #username после URL будет применяться к выбранному HTML. (Пространство важно)

Этот код использует jQuery library! Я ответил в jQuery, так как это один из тегов.

+0

Попробуйте прямо сейчас :-) – michaelmcgurk

+1

@michaelmcgurk Надеюсь, он будет работать достаточно хорошо для вас. –

+0

Если я хочу повторить значение на этой странице, как мне это сделать? – michaelmcgurk

1

Try Аякс следующим образом:

$.ajax({ 

    url:"your-phpfile.php", 

    success:function(data) 
    { 
      //data 'll hold the output of the php file 
    } 
}) 

Помните, прежде чем делать это, включает библиотеку Jquery.

+0

Знаете ли вы, будет ли это работать в локальном файле в Интранете? – michaelmcgurk

+1

Он будет работать с локальным файлом в интрасети, я уверен. Но вам нужно включить CORS на стороне PHP. –

1

Вы можете использовать AJAX для извлечения PHP-файла, подобного этому.

var template = null; 
var req = new XMLHttpRequest(); 
req.open('GET', 'http://intranet/text.php', true); 
req.onreadystatechange = function (data) { 
    if (req.readyState == 4) { 
    if(req.status == 200){ 
     template = data.responseText; 
     var output = document.createElement('div'); 

     output.innerHTML = template; 
     output.querySelector('#username').innerHTML = 'get replaced'; 

     console.log(output.innerHTML); 
    } 
    else{ 
     dump("An error occured"); 
    } 
    } 
}; 
req.send(null); 

Этот код в чистом JS, потому что я видел, что вы не работали с JQuery

+0

Я попробую прямо сейчас - скоро вернусь - спасибо :) – michaelmcgurk

+0

Я получаю сообщение об ошибке 'test.html: 15 Uncaught SyntaxError: Неожиданный токен else' – michaelmcgurk

+1

Конечно, мое плохое, отредактированное сделано, пропущено' {} 'on мой 'if' –

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