Steven
Steven

Reputation: 18869

Redirecting to AND posting data to an external page

I have a search page on my .NET 3.5 Web Forms site that redirects a user to an external site based on the user's search parameters. I would redirect to: http://www.site.com/search.aspx?searchterm=Hello.

But now they are changing the site so that the search parameter is passed as a POST parameter, and not in the query string. So the page is expecting "searchterm".

So not only do I need to redirect to the external page, I have to post data to the page as well. I have no idea how to do this and I don't know where to start.

Is this something I can do in Web Forms without some glitchy workaround? Or maybe it can be done using jQuery?

Upvotes: 0

Views: 924

Answers (2)

ASergan
ASergan

Reputation: 171

You can create simple JavaScript function for execute POST redirect to external page (dynamicaly generate and initilaze form object and submit it). For example (values pattern: a=1&b=2&c=3 ...):

function bind(pageURL, values) {
var form=document.createElement('form');
form.action= pageURL;
form.target='_blank';
form.style.display = 'none';
form.method = 'POST';

var valuesSplit = node.get_value().toString().split("&");

    for (var i = 0; i < valuesSplit.length - 1; i++) {
        var p = valuesSplit[i];
        var ps = p.split('=');
        addParam(form, ps[0], ps[1]);
    }

document.body.appendChild(form);
form.submit();
}

function addParam(form,key,value){
  var input= document.createElement('input');
  input.name=key;
  input.value=value;
  form.appendChild(input);
}

Upvotes: 0

Mike
Mike

Reputation: 3460

Most browsers will explicitely deny this. Doing a cross server post like this would lead to security issues.

Upvotes: 1

Related Questions