user1313691
user1313691

Reputation: 9

jquery ajax: read value from CGI

i'm trying to get a value from a CGI with jquery ajax. i can't change any settings of the CGI because it's not on my own server.

all i know about the CGI is that if i directly tape this in a browser address bar:

"http://otherdomain/cgi-bin/getvalue.exe?value"

then i get a response value, i.e. 1234, which is shown in a blank browser window.

with the following ajax call i get the response value in firebug -> network -> response tab (1234). but i can't access the value in javascript. console.log(data) just returns "undefinded".

is there a way to catch the value with javascript?

i think i have to send ajax request as dataType: "script" because a password (cookie) must be send to the CGI as well. if i choose dataType: "text" the password from cookie is not send in the request header.

    $.ajax({
        type: "GET",
        url: "http://otherdomain/cgi-bin/getvalue.exe?value",
        crossDomain: true,
        cache: true,
        dataType: "script",
        success: function(data, textStatus, jqXHR) {
            console.log(data);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(errorThrown);
            console.log(textStatus);
            console.log(jqXHR);         
        }   
    });

Upvotes: 0

Views: 1816

Answers (1)

Anthony Grist
Anthony Grist

Reputation: 38345

Due to the same origin policy AJAX doesn't allow cross domain requests, except those that have a response of type JSONP. You'll need to set up a proxy on your server to query using AJAX, which submits the request to the other domain then returns the response that it receives to the AJAX call.

Upvotes: 1

Related Questions