Łączenie ze stroną
DarkGL
18.12.2010
Próbuje połączyć się ze stroną robie to za pomocą tego kodu
<html> <head> <title>Wyszukaj funkcje</title> <meta name="author" content="DarkGL" /> <script type="text/javascript" src="http://darkgl.amxx.pl/skrypty/jquery-1.4.4.js"></script> <script type="text/javascript"> $(document).ready(function() { $(".szukaj").click(function(){ sendRequest("http://www.google.pl/",handleRequest,1); }) function handleRequest(req) { //document.innerHTML = req.responseText; alert("asd"); } }) function sendRequest(url,callback,postData) { var req = createXMLHTTPObject(); if (!req) return; var method = (postData) ? "POST" : "GET"; req.open(method,url,true); req.setRequestHeader('User-Agent','XMLHTTP/1.0'); if (postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); req.onreadystatechange = function () { if (req.readyState != 4) return; if (req.status != 200 && req.status != 304) { alert('HTTP error ' + req.status); return; } callback(req); } if (req.readyState == 4) return; req.send(postData); } var XMLHttpFactories = [ function () {return new XMLHttpRequest()}, function () {return new ActiveXObject("Msxml2.XMLHTTP")}, function () {return new ActiveXObject("Msxml3.XMLHTTP")}, function () {return new ActiveXObject("Microsoft.XMLHTTP")} ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i<XMLHttpFactories.length;i++) { try { xmlhttp = XMLHttpFactories[i](); } catch (e) { continue; } break; } return xmlhttp; } </script> </head> <body> <div id="content"></div> Funkcja: <input type="text" name="nazwa" id="nick" /> <input type="submit" value="Szukaj" class="szukaj"> </body> </html>ale dostaje HTTP error 0
mgr inż. Pavulon
18.12.2010
<html>
<head>
<title>Wyszukaj funkcje</title>
<meta name="author" content="DarkGL" />
<script type="text/javascript" src="http://darkgl.amxx.pl/skrypty/jquery-1.4.4.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".szukaj").click(function(){
sendRequest("test.html",handleRequest,1);
})
function handleRequest(req) {
//document.innerHTML = req.responseText;
alert("asd");
}
})
function sendRequest(url,callback,postData) {
var req = createXMLHTTPObject();
if (!req) return;
var method = (postData) ? "POST" : "GET";
req.open(method,"test.html",true);
req.setRequestHeader('User-Agent','XMLHTTP/1.0');
if (postData)
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req.onreadystatechange = function () {
if (req.readyState == 4)
{
if ( !req.responseText ) {
alert('HTTP error ' + req.status);
return;
} else {
alert(req.responseText);
callback(req);
}
}
}
req.send();
}
var XMLHttpFactories = [
function () {return new XMLHttpRequest()},
function () {return new ActiveXObject("Msxml2.XMLHTTP")},
function () {return new ActiveXObject("Msxml3.XMLHTTP")},
function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];
function createXMLHTTPObject() {
var xmlhttp = false;
for (var i=0;i<XMLHttpFactories.length;i++) {
try {
xmlhttp = XMLHttpFactories[i]();
}
catch (e) {
continue;
}
break;
}
return xmlhttp;
}
</script>
</head>
<body>
<div id="content"></div>
Funkcja: <input type="text" name="nazwa" id="nick" /> <input type="submit" value="Szukaj" class="szukaj">
</body>
</html>
Ale to i tak zadziała tylko w tej domenie w której został uruchomiony skrypt
mgr inż. Pavulon
18.12.2010
mgr inż. Pavulon
18.12.2010
1. może być zablokowany na hostingucURL
2. do tworzenia "statycznych" stron
3. wiele równoległych zapytań obciąży dodatkowo serwer i jego łącze