Ho modificato leggermente il tuo codice e va con IE9, IE compatibilità, Firefox, Opera e Chrome.
NOn ho provato con IE4![]()
Ecco il codice:
codice vbcodice:<%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript"> // <![CDATA[ function loadXMLDoc() { var xmlhttp; alert('entrato'); if (window.XMLHttpRequest) { alert('entrato1'); xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); alert('entrato2'); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { //alert(xmlhttp.responseText); document.getElementById('Ajax').innerHTML = xmlhttp.responseText; alert('entrato3'); } } var url = "?ajax_comando=1"; var parametri = "Rai 1=" + encodeURIComponent("Rai 1 prova xyz"); xmlhttp.open('POST', url, true); xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xmlhttp.setRequestHeader('Content-length',parametri.length); xmlhttp.send(parametri); } // ]]> </script> </head> <body> <form id="form1" runat="server"> <div> <input id="Button1" type="button" value="button" onclick="loadXMLDoc();" /> <div id="Ajax"></div> </div> </form> </body> </html>
come vedi, puoi benissimo richiamare una pagina aspx. In questo caso ho usato ?, ossia, la pagina corrente.codice:Option Strict On Imports l = libreria.ModuloWeb Partial Class prove_a Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Dim ajax_comando As String = Me.Request.QueryString("ajax_comando") If ajax_comando = "1" Then Dim Rai1 As String = Request.Form("Rai 1") Response.Write("#" + Rai1 + "#") Response.End() End If End Sub End Class
Gli spedisco pure via get, il parametro ajax_comando.
Lato server, controllo questo parametro (ajax_comando). Se è valorizzato, dò la risposta, ma CHIUSA DA UN BEL RESPONSE.END
PS. Questo codice va benissimo a scopo didattico. Il passo successivo però è farsi una bella funzione javascript riutilizzabile, da invocare ogni volta che serve fare una chiamata ajax.
Solo a titolo di esempio, qualcosa del genere:
function ajax(url, onload, parameters, onerror) {...}

Rispondi quotando