这是在 jQuery 中完成的代码,目的是将其更改为 javascript。原始代码来自这里:php proxy
这是要更改为 javascript 的 jQuery:
$(function(){
// Handle form submit.
$('#params').submit(function(){
var proxy = 'ba-simple-proxy.php',
url = proxy + '?' + $('#params').serialize();
// Make GET request.
$.get( url, function(data){
$('#response')
.html( '<pre class="brush:xml"/>' )
.find( 'pre' ) // To make the lines proper and to frame the text.
.text( data );
});
// Prevent default form submit action.
return false;
});
});
下面是 javascript 中的相同代码,尚未准备好。问题是目前它不合逻辑。
此处未包含的 html 表单位调用 ajaxcontent()。ajaxcontent() 创建 jQuery 的“.html”和“.text”部分。JQuery ".find" 目前可以忽略。
在 ajaxcontent() 中,首先创建“pre”标签,然后在其中添加类“brush:xml”。然后“createTextNode”从被询问的页面添加源代码。这是 jQuery 中的“(数据)”。这里代码失败了,因为 ajax 想把信息放到 id="response",但是 ajaxcontent() 仍然需要做这行 "xelement.appendChild(xtext);" 将文本附加到“xelement”。
function loadajax() {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("response").innerHTML=xmlhttp.responseText;
}
}
var urlvar=(document.getElementById("url").value)
xmlhttp.open("GET","ba-simple-proxy.php&url="+urlvar,true);
xmlhttp.send();
}
function ajaxcontent() {
var xelement=document.createElement("pre");
xelement.className="brush:xml";
var xtext=document.createTextNode( loadajax() );
xelement.appendChild(xtext);
}
任何建议如何使这项工作?jQuery 部分是一个工作示例,但 javascript 部分还没有。