Ajaxの、とあるサンプルコードを動かそうとしているのですが、うまくいきません。
サンプルコードは、Ajaxを使ってサーバーにPOSTし、受け取ったデータを表示する、というものです(多分)。
サンプルコードを動かすと、POSTしたサーバー(?)から、「Method Not Allowed」というエラー(405?)が返ってきてしまいます。
一日調べてみたのですが、JavaScriptやPHP、ウェブ開発の経験がほぼないこともあって、修正の検討さえつきません。
ご存知の方がいらっしゃいましたら、ご教授頂けないでしょうか。
javascript
1<html> 2<head> 3<title>AJAX Example</title> 4</head> 5 6<body> 7<center /> 8<h1>Loading a web page into a DIV</h1> 9<div id='info'>This sentence will be replaced</div> 10<script> 11 12params = "url=amazon.com/gp/aw" 13 14request = new ajaxRequest() 15request.open("POST", "urlpost.php", true) 16request.setRequestHeader("Content-type", 17 "application/x-www-form-urlencoded") 18request.setRequestHeader("Content-length", params.length) 19request.setRequestHeader("Connection", "close") 20 21request.onreadystatechange = function() 22{ 23 if (this.readyState == 4) 24 { 25 if (this.status == 200) 26 { 27 if (this.responseText != null) 28 { 29 document.getElementById('info').innerHTML = 30 this.responseText 31 } 32 else alert("Ajax error: No data received") 33 } 34 else alert( "Ajax error: " + this.statusText) 35 } 36} 37 38request.send(params) 39 40function ajaxRequest() 41{ 42 try 43 { 44 var request = new XMLHttpRequest() 45 } 46 catch(e1) 47 { 48 try 49 { 50 request = new ActiveXObject("Msxml2.XMLHTTP") 51 } 52 catch(e2) 53 { 54 try 55 { 56 request = new ActiveXObject("Microsoft.XMLHTTP") 57 } 58 catch(e3) 59 { 60 request = false 61 } 62 } 63 } 64 return request 65} 66</script> 67</body> 68</html>
php
1<?php // urlpost.php 2if (isset($_POST['url'])) { 3 echo file_get_contents("http://".SanitizeString($_POST['url'])); 4} 5 6function SanitizeString($var) { 7 $var = strip_tags($var); 8 $var = htmlentities($var); 9 return stripslashes($var); 10} 11?>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。