Of het probleem in het javascript zit of in de asp.net configuratie/code weet ik niet dus vandaar dat ik het in dit topic plaats.
Ik wil via een ASP.NET webservice tekst via javascript kunnen oproepen. Na het een en ander doorgelezen te hebben ben ik zover:
1) een ASP.net testpagina is aangemaakt
2) een webservice is aangemaakt
3) de webservice reference is aangemaakt
4) testen
5) proberen alles werkend te krijgen
Bij punt 5 loopt het spaak. En dat terwijl de de asmx pagina wel resultaat geeft:
http://www.pwiv.nl/Testpwiv.asmx
Volgens mij heb ik alles juist doorlopen maar in Firefox wordt de volgende melding gegeven:
TypeError:xmlHttp is undefined
De bijbehorende regel:
xmlHttp.open("post", "http://www.pwiv.nl/Testpwiv.asmx?op=HelloWorld", true);
Ik heb al wat variaties geprobeerd:
xmlHttp.open("post", "Testpwiv.asmx", true);
xmlHttp.open("post", "http://www.pwiv.nl/Testpwiv.asmx", true);
Doe ik iets fout of zit ik op een totaal verkeerde weg? Ik kan ook nergens uit opmaken dat het anders moet...
Resources die ik heb gebruikt:
http://lamahashim.blogspo...spnet-webmethod-from.html
http://www.w3schools.com/...asp?filename=tryajax_post
http://forums.asp.net/t/1475194.aspx/1
De code:
Het asmx bestand bevat:
<%@ WebService Language="C#" CodeBehind="~/App_Code/Testpwiv.cs" Class="Testpwiv" %>
Ik wil via een ASP.NET webservice tekst via javascript kunnen oproepen. Na het een en ander doorgelezen te hebben ben ik zover:
1) een ASP.net testpagina is aangemaakt
2) een webservice is aangemaakt
3) de webservice reference is aangemaakt
4) testen
5) proberen alles werkend te krijgen
Bij punt 5 loopt het spaak. En dat terwijl de de asmx pagina wel resultaat geeft:
http://www.pwiv.nl/Testpwiv.asmx
Volgens mij heb ik alles juist doorlopen maar in Firefox wordt de volgende melding gegeven:
TypeError:xmlHttp is undefined
De bijbehorende regel:
xmlHttp.open("post", "http://www.pwiv.nl/Testpwiv.asmx?op=HelloWorld", true);
Ik heb al wat variaties geprobeerd:
xmlHttp.open("post", "Testpwiv.asmx", true);
xmlHttp.open("post", "http://www.pwiv.nl/Testpwiv.asmx", true);
Doe ik iets fout of zit ik op een totaal verkeerde weg? Ik kan ook nergens uit opmaken dat het anders moet...
Resources die ik heb gebruikt:
http://lamahashim.blogspo...spnet-webmethod-from.html
http://www.w3schools.com/...asp?filename=tryajax_post
http://forums.asp.net/t/1475194.aspx/1
De code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>test page</title> </head> <script language="javascript" type="text/javascript"> var xmlHttp; function CallWebService() { //xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); //xmlhttp=new XMLHttpRequest(); if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //document.getElementById("myDiv").innerHTML=xmlhttp.responseText; xmlHttp.open("post", "http://www.pwiv.nl/Testpwiv.asmx?op=HelloWorld", true); xmlHttp.onreadystatechange=doUpdate; xmlHttp.send(); return false; } function doUpdate(){ if (xmlHttp.readyState == 4) { var startTag = "<string xmlns=\"http://www.pwiv.nl\">"; var endTag = "</string>"; var exch; var valueStart = 0; var valueEnd = 0; valueStart = xmlHttp.responseXML.xml.indexOf(startTag, valueEnd) + startTag.length; valueEnd = xmlHttp.responseXml.xml.indexOf(endTag, valueEnd + 1); exch = xmlHttp.responseXML.xml.substring(valueStart, valueEnd); alert(exch); } } </script> <body onload="CallWebService(event)"> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <div id="myDiv"></div> </div> </form> </body> </html> |
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| [WebService(Namespace = "http://www.pwiv.nl")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Testpwiv : System.Web.Services.WebService { public Testpwiv () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] public string HelloWorld() { return "Hello World"; } } |
Het asmx bestand bevat:
<%@ WebService Language="C#" CodeBehind="~/App_Code/Testpwiv.cs" Class="Testpwiv" %>