2012-04-04 39 views
0

我试图使用ajax访问其余服务。
如果我会贴在任何网页浏览器这个链接就会给这样的结果:

{"SessionID":"a7f58a4a-f922-47c1-8351-d2035df4968c","SourceIP":"127.0.0.1","UserID":313} 

(链接已更改为安全)
https://thisisjustasample/Rest/Authenticate/Login?username=user&password=pass123&ip=127.0.0.1

但是我发现没有运气访问链接用ajax:

从 '查看' 部分的呼叫:

getdata('https://thisisjustasample/Rest/Authenticate/Login?username=user&password=pass123&ip=127.0.0.1');  

js文件中的函数:

function getdata(url) { 
    $.ajax({ 
     url: url, 
     type: 'GET', 
     contentType: 'application/json', 
     success: function (data) { 
      if (data) { 
       showtooltip(data); 
      } 
     }, 
     error: function (xhr, ajaxOptions, error) { 
      showtooltip(xhr.status + ': ' + error); 
     } 
    }); 
} 

它总是返回'0'状态。当我检查我的数据库时,数据没有任何改变。代码有什么问题?

+0

你在'firebug'中看到了什么? – gdoron 2012-04-04 09:20:12

+2

你确定你没有进行跨域请求吗? – 2012-04-04 09:20:53

+0

我不熟悉萤火虫,但我会尝试使用它。 – fiberOptics 2012-04-04 09:21:23

回答

0

我有一种感觉,问题是,当你不应该指定一个contentType时,你指定了一个json的内容类型,你的params应该是数据的一部分。

$.ajax({ 
    url: "https://thisisjustasample/Rest/Authenticate/Login", 
    type: 'GET', 
    data: "username=user&password=pass123&ip=127.0.0.1", 
    success: function (data) { 
     if (data) { 
      showtooltip(data); 
     } 
    }, 
    error: function (xhr, ajaxOptions, error) { 
     showtooltip(xhr.status + ': ' + error); 
    } 
}); 
+0

没有工作。 :( – fiberOptics 2012-04-04 09:34:12

+2

如果此JavaScript运行在http:// ** url1 ** /some.html页面上,并且ajax看起来像url:“https:// ** url2 **/Rets ...,does * * url1 ** = ** url2 **? – 2012-04-04 09:36:56

+0

您需要使用fiddler或Firebug或其他软件来监控请求和响应,否则您的编码是盲目的,您还需要知道跨域调用的含义,如果您是打不开,我不认为这是你的问题,但你需要确定 – suing 2012-04-04 11:39:42