2014-07-10 151 views
0

我是JQuery的总新手,我试图从Careerjet的api获取一些数据。
但是,我必须告诉你,这个API最初是为Ruby,Java,Php和Perl提供的。从CareerJet API获取json数据

所以,我做了一些逆向工程来接URL结构起来,这似乎是说:

var url = "http://public.api.careerjet.net/search?locale_code=US_en&pagesize=1&sort=salary&keywords=java&page=124&location=new+york"; 

所以,我尝试了conventionnal方法:

$.getJSON(url, function(data){ 
    console.log(data); 
}); 

我得到的是:

"SyntaxError: missing ; before statement"

确实,数据从不显示。

我试着走得更远,我检查了Firebug中的HTTP数据包,发现预期的Json对象:"{"jobs":[{"salary_min":"40000",...")。

资源的内容类型是text/plain,虽然...我不知道这意味着什么。

+0

由于“跨域请求策略”,AJAX请求将不起作用,这可以通过将资源移动到相同的域或启用CORS或API提供回调函数来解决。 – Girish

+0

来自jquery的跨域请求不会导致此错误特定错误。它只是触发jquery的错误回调,并告诉你,你没有Cross Origin特权。 –

回答

0

您的代码中有一处出现javascript错误,我去了public.api.careerjet.net,从您的示例中的URL中获取,我收到了没有错误的数据。

在javascript中查找语法错误。

这是我在jQuery中用来获取请求并查看结果的内容。

$.ajax({url: 'http://public.api.careerjet.net/search?locale_code=US_en&pagesize=1&sort=salary&keywords=java&page=124&location=new+york"', 
success: function(data){ 
    console.log(data); 
}}) 

如果您想让我看看您的语法,请发布更多代码。

+0

没有理由的downvote只是粗鲁。特别是当有人提供代码并验证他们试图完成的事情确实是可能的时候,他们就会麻烦地为你测试它。 –

+0

只是要清楚,它不是我 – Acen1991