Solved

enable cors jquery

Posted on 2015-01-26
8
163 Views
Last Modified: 2015-02-14
Look like my jquery may need to enable CORS. But I do not want to update IIS header because I do not want to impact all other stuffs there.

Is it possible to show me how to add CORS on jquery/ajax codes?

Thanks
0
Comment
Question by:ITsolutionWizard
  • 4
  • 2
  • 2
8 Comments
 
LVL 43

Expert Comment

by:Rob
ID: 40571918
it HAS to be done server side.  If the cross-origin header allows it then the browser (jquery) will be able to exchange data.

You cannot do this on the client.

Ok... you can get around this with a plugin for your browser, but every one of your clients would need to have a plugin like this.  This one for chrome: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?utm_source=chrome-app-launcher-info-dialog
0
 
LVL 43

Expert Comment

by:Rob
ID: 40571923
So just to confirm, your jQuery page is on a different domain to your IIS server?
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 40573049
As Rob has already pointed out, if your jQuery is on a different domain to your AJAX response, then you have to enable CORS AT THE SERVER!

If you can't / won't do this, then your other option is to create a proxy script (PHP for example) on your own server. This script would make the call to the remote server and retrieve the data (not subject to the same CORS policy as Javascript). Your jQuery would then make it's AJAX call to your own script, and you wouldn't have to worry about Cross-Origin..
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Author Comment

by:ITsolutionWizard
ID: 40573135
any source codes I can read
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 40573287
Plenty of examples online - it depends on exactly what you need to achieve.

If your jQuery needs to pass data to the server, then your PHP script will need to read this data - probably from the POST array:

$someValue = $_POST['myData'];

Depending on the remote server, you may just be able to read the data straight in:

$remoteData = file_get_contents('http://someremotedomain.com/');

You may also need to use cURL.

Also depends on how your want to pass the data back to your jQuery call - you could just echo it straight out, but you'll probably need to send it back as JSON:

echo $json_encode($yourData);

You've not given enough info for specifics, so can't offer concrete suggestions.
0
 
LVL 43

Expert Comment

by:Rob
ID: 40573754
We need a little more to go on than what you've provided.

It's your website running on a different domain than your iis server?
0
 

Author Comment

by:ITsolutionWizard
ID: 40580378
the web services and jquery / ajax consume sides are separated. and the web services is written in .net/c#
the consume side is just html or classic asp
0
 
LVL 43

Accepted Solution

by:
Rob earned 500 total points
ID: 40580537
Yes that makes sense but are they served from the same domain?

Eg

Www.yourdomain.com shows the webpage but if your web method is on the same domain, ie www.yourdomain.com/WebMethod then you don't need jsonp or cors! :)
0

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is a PowerShell web interface I use to manage some task as a network administrator. Clicking an action button on the left frame will display a form in the middle frame to input some data in textboxes, process this data in PowerShell and display…
Find out what you should include to make the best professional email signature for your organization.
In this tutorial viewers will learn how add a scalable full-width header using CSS3. Create a new HTML document with an internal stylesheet. Set a tiled background.:  Create a new div and name it Header. Position it with position:absolute at the top…
In this tutorial viewers will learn how to code links for mobile sites that, once clicked, send a call or text to a specified number. For a telephone link (once clicked, calls a number), begin with a normal "<a href=" link tag. For the href, specify…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question