AJAX меняет содержимое файла file_get_contents - PullRequest
1 голос
/ 05 июля 2010

Я использую AJAX для загрузки содержимого в заполнитель, код PHP использует file_get_contents для получения нужной страницы, а затем возвращает его в ответ AJAX, который помещает его в мой заполнитель. Проблема, с которой я сталкиваюсь, заключается в том, что содержимое, которое захватывается, на самом деле изменяется, например, теги html помещаются туда, где их не было ... Вот код:

function getPreview() { 
    var indexe = ajax.length;
    ajax[indexe] = new sack();
    var form = document.getElementById('form');
    ajax[indexe].setVar("prevsub", form.ebay_preview_submit.value);
    ajax[indexe].method = 'POST';
    ajax[indexe].requestFile = "../admin/model/catalog/getEbay.php";
    ajax[indexe].onCompletion = function(){ createPreview(indexe) };
    ajax[indexe].runAJAX();
}

function createPreview(indexe) {    
    var obj = document.getElementById('preview_ph');
    obj.innerHTML = ajax[indexe].response;
}

так что все помещается внутри этого заполнителя:
<div id="preview_ph" ></div>

Вот PHP, который выполняет захват:

if(isset($_POST['prevsub'])){
$template_viewer = http://localhost:8888/admin/view/template/ebay/template_viewer.php';
$file_got = file_get_contents($template_viewer); 
echo $file_got;
}

А вот фрагмент того, что предполагается добавить против того, что он там добавляет ...

Предполагается:

Sign up for Newsletter</a> </div></td>

Но вместо этого оно изменяется:

Sign up for Newsletter</a></td></tr>

Другой, предположительно:

bidding! </span>
</div>
</td></tr>

Но изменяется на:

bidding! </span>
</div>
</td></tbody>

Он изменяет содержимое всего 7 раз со страницы, которую он перехватывает ... Любое объяснение этому?

Страница прекрасно открывается в браузере, она каким-то образом серьезно изменяется AJAX или file_get_contents, и я совершенно сбит с толку ...

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 05 июля 2010

Мне кажется, что браузер очищает HTML во время операции .innerHTML.Это акт самозащиты, потому что HTML-код, который вы выводите, явно недействителен?поэтому браузер должен попытаться исправить это как можно лучше.

Почему вы выводите эти закрывающие теги через AJAX?

...