Примечание: с помощью некоторых комментариев кажется, что это, скорее всего, невозможно
Я использую вызов jQuery ajax для отправки адреса электронной почты впод названием PHP-файл Я возвращаю сообщение об ошибке или об успешном завершении в зависимости от результата.
Теперь я хочу сообщить об этом результате после успешного выполнения моего jQuery $.post
, проблема в том, что вызываемый PHP-файл содержит файл конфигурации, которыйтакже есть файл Javascript, поэтому мои данные будут выглядеть так:
<script type="text/javascript" src="x.js"></script>Message
Итак, я попробовал следующее:
Данные
<script type="text/javascript"> src="x.js"></script><p>Message</p>
И я попробовал две разные вещи в моем $.post
:
Пост
$.post('ajax.php',function(data){
alert($(data).find('p'));
// this returns [object Object]
alert($(data).find('p').html());
// this returns null?
}
Тот факт, чтоalert($(data).find('p'));
возвращает [object Object]
приводит меня к мысли, что это работает, но тогда я не понимаю, почему .html()
возвращает null
.Если я проверяю data
через firebug, он показывает именно то, что я напечатал выше.
Некоторая дополнительная информация
console.log(data)
возвращает
<script type="text/javascript"> src="x.js"></script><p>Message</p>
console.log($(data).find('p'))
возвращает объект jQuery.
console.log($(data).find('p').length);
возвращает 0
$('html').append(data);
console.log($('p').html());`
возвращает Message
как ожидается.
Окончательное редактирование
Я не думал о том факте, что $
в $(data).find('p')
, вероятно, поэтому возвращает [object Object]
.
Теперь, когда я думаю об этом, кажется вполне очевидным, что это невозможночтобы сделать то, что я спрашиваю, потому что я пытаюсь использовать механизм выбора jQuery на строку.Вместо этого я изменю структуру своего документа, чтобы удалить ссылку JS из моего файла конфигурации.