jquery ajax: read value from CGI

Go To StackoverFlow.com

0

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);         
        }   
    });
2012-04-04 20:28
by user1313691
The dataType property is the expected data type of the response, not the request. If you leave it blank, it uses the "best guess" default, whereby jQuery attempts to guess the type based on the format of the response - Anthony Grist 2012-04-04 20:58
if i coose a different dataType than script the password is not send to the server - user1313691 2012-04-05 04:21
if i coose a different dataType than script the password is not send to the server. the request header Cookie: pwd=xxxx is only sent when i choose dataType: "script" in ajax call - user1313691 2012-04-05 04:28


1

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.

2012-04-04 20:57
by Anthony Grist
my websert anser with Access-Control-Allow-Origin: *. So cross domain is not the problem - user1313691 2012-04-05 04:17
Ads