2011-08-28 38 views
0

的JavaScript文件的服务器上运行JavaScript网页发送凭据

<html> 
<head> 
<script type="text/javascript"> 

function send() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 




xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
    } 
    } 

xmlhttp.open("POST","192.168.0.10/unp.php",true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send(encodeURI("Username="+document.form1.uname.value+"&password="+document.form1.pass.value)); 





} 

</script> 
</head> 

<body> 

<form name="form1" method="post"> 
USERNAME:<input type = "text" name="uname"><br> 
PASSWORD:<input type = "password" name="pass"> 


<br> 



<input type="submit" onclick="send()"> 
</form> 
<div id="myDiv"><p>How are You </p></div> 
</body> 
</html> 

PHP文件。我想将证书存储在服务器上的文件中

<?php 
$myfile="testfile.txt"; 
$fh=fopen($myfile,'a'); 
$stringdata=$_POST["Username"]; 
$stringdata1=$_POST["password"]; 
fwrite($fh,$stringdata); 
fwrite($fh,$stringdata1); 
fclose($fh); 
?> 
<html> 
Details Submitted 
</html> 

客户端页面加载时没有错误。尽管文件textfile doest被创建。 响应也不会返回。 Js文件是否正确?

+0

你如何访问浏览器页面? –

+0

我有记事本的HTML代码wrtten,打开它与IE浏览器,启用ActiveX内容。 –

+0

我有服务器上的VirtualBox,Linux服务器与Apache上, –

回答

1

您是否期待“提交的详细信息”在屏幕上出现?从您的代码(看起来像当前文档)看来,您认为如此,但不是,情况并非如此。文本将在xmlhttp.responseText中,并在xmlhttp.responseXML中整齐地解析出来。

编辑

维诺德的评论在他的代码指出了一些其他错误,特别是他的编码是错误的(这可能不是他所看到的问题)和头不翼而飞(这可能是) 。他应该写下:

var params = "Username="+encodeURIComponent(document.form1.uname.value)+ 
     "&password="+encodeURIComponent(document.form1.pass.value); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.setRequestHeader("Content-length", params.length); 
xmlhttp.setRequestHeader("Connection", "close"); 
xmlhttp.send(params); 
+0

雅,我是,它在我发出GET请求时起作用。我还希望将凭证存储在服务器上的文件中。 –

+0

我也尝试了您的更改,仍然给予与以前相同的回复。 –

+0

安装Firebug并查看实际发送的内容。写一个表格发布到192.168.0.10/unp.php的HTML页面。比较。 – Malvolio