나는 이와 같은 HTML 페이지의 끝에서 호출되는 스크립트를 가지고 있습니다.아약스는 javascript에서 호출되는 php 함수의 echo 문과 무엇을합니까?
<body>
<script type="text/javascript">
$(document).ready(function() {
//define php info and make ajax call to recreate divs from XML data
$.ajax({
url: "get_nodes.php",
type: "POST",
data: { },
cache: false,
success: function (response) {
if (response != '')
{
alert(response);
}
}
});
});
</script>
</body>
PHP 스크립트에는 자바 스크립트를 작성하는 echo 문이 있습니다. echo 문은 문서에 인쇄되지 않습니다. 그들은 어딘가에 보내지고 있는데, 나는 어디 있는지 모른다. alert 함수를 사용하여 php에 대한 ajax 호출의 응답을 보면 모든 echo 문이 경고 상자에 인쇄되어 문서 자체에 인쇄 될 것으로 예상됩니다.
내 질문은 :
- 아약스는 PHP는 에코 문으로 무엇입니까?
- 문서에 인쇄하는 방법은 무엇입니까?
다음은 아약스를 통해 호출 된 get_nodes.php 파일입니다.
<?php
function get_nodes() {
// load SimpleXML
$nodes = new SimpleXMLElement('communities.xml', null, true);
foreach($nodes as $node) // loop through
{
echo "\n<script type='text/javascript'>\n";
echo " var newdiv = document.createElement('div');\n";
echo " newdiv.id = '".$node['ID']."';\n";
echo " newdiv.className ='comdiv ui-widget-content';\n";
echo " newdiv.style.top = '".$node->TOP."'\n";
echo " newdiv.style.left = '".$node->LEFT."';\n";
echo " newdiv.style.width = '".$node->WIDTH."';\n";
echo " newdiv.style.height = '".$node->HEIGHT."';\n";
echo " $('#page').append(newdiv);\n";
echo " var heading = document.createElement('p');\n";
echo " heading.innerHTML = '".$node->NAME."';\n";
echo " heading.className ='comhdr editableText ui-widget-header';\n";
echo " $('#".$node['ID']."').append(heading);\n";
echo " $('#".$node['ID']."').resizable();";
echo " $('#".$node['ID']."').draggable();";
echo " $('#".$node['ID']."').draggable('option', 'handle', '.comhdr');";
printf('$("#%s").append("<a href=\\"#\\" onClick=\\"delete_div(\'%s\');\\">Delete</a> ");', $node
['ID'], $node['ID']);
printf('$("#%s").append("<a href=\\"#\\" onClick=\\"add_url(\'%s\');\\">Add URL</a> ");', $node
['ID'], $node['ID']);
echo "\n</script>\n";
}
return;
}
echo get_nodes();
?>
alert (response)를 사용하는 대신 document.getElementById ("IdOfDiv")와 같은 작업을 수행하십시오. innerHTML = response; –
응답을 받고 있는지, 성공 블록에서 Hello world를 울리는 지 확인하십시오. – secretformula
PHP에서하는 작업은 모두 PHP로 수행됩니다. 문서가 렌더링되고 반환됩니다. JavaScript (따라서 ajax)는 Echo가 일어났다는 사실을 알지 못하며 심지어 PHP 파일이기도합니다. 그것은 모릅니다. 그것은 상관하지 않습니다. 에코와 아약스는 특별히 로직을 추가하지 않으면 관련이 없습니다. – Incognito