2016-05-10 5 views
4

これはAJAXを初めて使用したときに読んでいたものですが、jsで初めてこれを行うこともあります。私は道に沿って自分自身を混乱させたと思う。PHP/JS/AJAX/HTML:動的にWebページを作成する

新しいレストランページを動的に作成しようとしています。管理者がonclickボタンをクリックするたびに、既に作成した新しいレストランページのコンテンツを含む新しいWebページが作成されます。

ボタンを押した瞬間、新しいウェブページが作成されましたが、新しいウェブページへのアクセス方法はわかりません。新しく作成されたウェブページへのリンクを表示したかったのです。これは、例えばbeforeを使用する場合のように作成されます。たとえば、私の時のボタンの前に動的な機能を表示するjsで。

HTML

<html> 
<body> 
<button onclick="makePage()">click</button> 
<script src="makePage.js"> 
</script> 
</body> 
</html> 

JS

function makePage(){ 
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.onreadystatechange = function(){ 
if(xmlhttp.readyState==4 && xmlhttp.status==200) 
    alert("webpage " + xmlhttp.responseText + " was successfully created!"); 
} 
var content = "<html><head><meta charset=\"utf-8\" /> </head><body>new website<script>alert(\"test\")</script></body></html>"; 
xmlhttp.open("GET","makePage.php?content=" + content,true); 
xmlhttp.send(); 

}

PHP

<?php 
$content = $_GET["content"]; 
$file = uniqid() . ".html"; 
file_put_contents($file, $content); 
echo $file; 
?> 

提案がありますか?ガイダンスや関連するページを読むことができます。何かが非常に高く評価されます。

if(xmlhttp.readyState==4 && xmlhttp.status==200){ 
    var createA = document.createElement('a'); 
    var createAText = document.createTextNode(xmlhttp.responseText); // or whatever name you need 
    createA.setAttribute('href', xmlhttp.responseText); 
    createA.appendChild(createAText); 
    document.body.appendChild(createA); // or you can create some <div> or whatever and append it to that 
} 

これはプレーンjavascriptのですが、ajaxまたはget機能をより簡単に行うことができますjqueryのを使用して:あなたのJSで

答えて

2

は、アラートの代わりにこのような何かを行います。

+0

素晴らしい!それを見て、私が探しているもののように見えます。あなたの時間を取ってくれてありがとう。ちょっと後で試してみると、あなたが提供したリンクを見てみましょう – jerneva

関連する問題