473,326 Members | 2,110 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

HttpWebRequest doesn't work with JavaScript ;-(

Hello all,

This is a little frustrating ;-(

I have the following used as part of Javascript code. I am trying to
send values from the client to the server following the information
from this web site: http://www.netomatix.com/HttpPostData.aspx

But what I have found is that the code below generates an error and
does not seem to work.
// Prepare web request...
HttpWebRequest myRequest = (HttpWebRequest)
HttpWebRequest.Create("http://localhost:2255/Test.aspx");
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;

Stream newStream=myRequest.GetRequestStream();
// Send the data.
newStream.Write(data,0,data.Length);
newStream.Close();
Please, please help! I am sooo tired! What am I doing wrong?

Regards.

Oct 2 '05 #1
5 11953
OK - I think the problem was that the code above was for C# and not
javascript? They both look the same ;-/

Anywho, I tried the following code below:

function sendDataToServer (url, dataToPost) {
var httpRequest;
if (typeof ActiveXObject != 'undefined') {
httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
}
else if (typeof XMLHttpRequest != 'undefined') {
httpRequest = new XMLHttpRequest();
}
if (httpRequest) {
httpRequest.open('POST', url, false);
httpRequest.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');

alert("about to post the data");
httpRequest.send(dataToPost);
return httpRequest;
}
else {
return void 0;
}
}

And this seems to work - but now I am trying to get the values out on
the server side. I tried the following code below:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
//do whatever with the form data here
string firstName =
(string)Request.QueryString["FDepents44"];
Console.WriteLine(firstName);
}
}
}

I used the debugger and found that "IsPostBack" is false so the snippet
of code is not being executed. So, how can one get the data out on the
server side using C#? Is the call from the client (using Javascript)
correct? I am just wondering because (as mentioned before) IsPostBack
is set to false.

TIA

Oct 2 '05 #2
Not done too much jiggerypokery with Javaqscript as far as programatically
posting like described here, but it would seem that POST and POSTBACK would
be two different beasts.

Looking at your code you make one POST without first having made a GET, so
it is hard to see how postback could occur.

I may be completely wrong here, and I am sure someone will no doubt correct
me.

Regards Mr N . . .
"milkyway" <d0******@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
OK - I think the problem was that the code above was for C# and not
javascript? They both look the same ;-/

Anywho, I tried the following code below:

function sendDataToServer (url, dataToPost) {
var httpRequest;
if (typeof ActiveXObject != 'undefined') {
httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
}
else if (typeof XMLHttpRequest != 'undefined') {
httpRequest = new XMLHttpRequest();
}
if (httpRequest) {
httpRequest.open('POST', url, false);
httpRequest.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');

alert("about to post the data");
httpRequest.send(dataToPost);
return httpRequest;
}
else {
return void 0;
}
}

And this seems to work - but now I am trying to get the values out on
the server side. I tried the following code below:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
//do whatever with the form data here
string firstName =
(string)Request.QueryString["FDepents44"];
Console.WriteLine(firstName);
}
}
}

I used the debugger and found that "IsPostBack" is false so the snippet
of code is not being executed. So, how can one get the data out on the
server side using C#? Is the call from the client (using Javascript)
correct? I am just wondering because (as mentioned before) IsPostBack
is set to false.

TIA

Oct 2 '05 #3
Thanks for the pointer. Is there a correct way to write code on the
server side whenever a POST is being done from the client in C#? I
thought that one was to use the page_load somehow.

Also, when I am sending the string, it is in the form of:
TableName=FDepents&FDepents11=600&FDepents12=609 ....

I have now seen (through the debugger), that the following code:

string firstName =
(string)Request.QueryString.Get("TableName");

Just returns a null, even though in the part of the code
alert("about to post the data");
httpRequest.send(dataToPost); <--- HERE
return httpRequest;

Clearly has the parameters being passed in..

Sigh - will wonders ever cease

Oct 2 '05 #4
The if( Page.IsPostback ) construct is the correct way to test if this is a
postback request; Its just that your code which generates the post to the
server is in some question. Having said that, as I have not done this, so I
cant comment on the vailidy of your approach other than one must have to
trick ( if possible ) ASP.NET into a normal mode of operation which would
make it think that this is postback and not the first GET.

As far as the code which your javscript passes to the receiving aspx page,
have you tried this manually ( IE Creating the URL on notepad or something
and pasting it into the browser address bar ). Dont forget to put the '?'
after the basic URL before your query string. Alternatively, there may be
some character stripping going on if this is going though a gateway or
something???!??!??!?!

Let me know how you are getting on, as I find this topic interesting .

Regards Mr N . . . .

"milkyway" <d0******@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
Thanks for the pointer. Is there a correct way to write code on the
server side whenever a POST is being done from the client in C#? I
thought that one was to use the page_load somehow.

Also, when I am sending the string, it is in the form of:
TableName=FDepents&FDepents11=600&FDepents12=609 ....

I have now seen (through the debugger), that the following code:

string firstName =
(string)Request.QueryString.Get("TableName");

Just returns a null, even though in the part of the code
alert("about to post the data");
httpRequest.send(dataToPost); <--- HERE
return httpRequest;

Clearly has the parameters being passed in..

Sigh - will wonders ever cease

Oct 2 '05 #5
Hi MrN,

I just decided to use the forms.submit since it did not work. Here is a
link to where I obtained the information, perhaps you can try:

http://groups.google.com/group/de.co...96931c799d7772

It is in German but one can understand enough and see the code below.
Here is another:

http://groups.google.com/group/micro...e7f72f2f4da835

Also, it was my understanding that this can only work with MS browsers
- soooo - I left it alone.

Kindest Regards.

Oct 5 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Dan Battagin | last post by:
Is there a known bug with the interaction between the HttpWebRequest and the ThreadPool? I current spawn several HttpWebRequest's using BeginGetResponse, and they work for a while, using worker...
10
by: Brian Brown | last post by:
I have code which works as an asp.net page that posts an xml file to web page and gets a response back. When the the calls GetResponse() it goes into the page it's posting to to and works fine....
10
by: Gregory A Greenman | last post by:
I'm trying to write a program in vb.net to automate filling out a series of forms on a website. There are three forms I need to fill out in sequence. The first one is urlencoded. My program is...
6
by: omyek | last post by:
I'm trying to mimic the browsing of a webpage using an HttpWebRequest. I've had a lot of luck with it so far, including logging into pages, posting form data, and even collecting and using cookies....
3
by: Amil | last post by:
Please don't repond to this if you are guessing or just don't know the answer. I'm trying to login to a backend system running Java/Tomcat. I create a HttpWebRequest with the login data and do...
5
by: milkyway | last post by:
Hello all, This is a little frustrating ;-( I have the following used as part of Javascript code. I am trying to send values from the client to the server following the information from this...
0
by: Susan Van Houen | last post by:
Hi Everybody, I have a problem that is driving me crazy and I am hoping for some help here. I am building an application (vb.net, vs2003) that crawls selected websites. The application works...
0
by: boxboy | last post by:
Hi, I'm writing a console application and am having a problem with HttpWebRequest when posting data to a webserver. A "System.Net.WebException: The server committed a protocol violation" is always...
2
by: Tosco | last post by:
I used to use WebBrowser in VB6, and now I want to learn how to use WebRequest in vb.net, but I'm having 2 problems. 1) Is it normal that the automatic redirection doesn't work when the page...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.