使用JavaScript不断从Perka.com作业应用程序的API Post请求中获取404错误
Perka有一个很酷的工具,你可以使用他们的API申请工作。(免责声明:很明显,若我不能弄清楚,我怀疑我是否有资格获得这份工作,但我只需要知道我做错了什么!) 下面是我使用jQuery编写的JavaScript代码(我也用C#编写,并且有相同的404): 无论我做什么,我都会得到一个404错误 以下是API要求: 控制台在请求后始终显示以下内容:使用JavaScript不断从Perka.com作业应用程序的API Post请求中获取404错误,javascript,jquery,api,Javascript,Jquery,Api,Perka有一个很酷的工具,你可以使用他们的API申请工作。(免责声明:很明显,若我不能弄清楚,我怀疑我是否有资格获得这份工作,但我只需要知道我做错了什么!) 下面是我使用jQuery编写的JavaScript代码(我也用C#编写,并且有相同的404): 无论我做什么,我都会得到一个404错误 以下是API要求: 控制台在请求后始终显示以下内容: {"data":{},"errors":{"Not Found":"Endpoint not found"}} 我可以看到有效负载,它的格式似乎正
{"data":{},"errors":{"Not Found":"Endpoint not found"}}
我可以看到有效负载,它的格式似乎正确:
首先发送一个选项请求,但这不会影响POST请求,对吗?(我一直在读CORS,但我自己还不能回答这个问题。)
我也试过:
- 端点的各种变化。(因为这是一份求职申请,也许他们在测试我。如果是的话,他们现在有100份我的简历。)
- 在C#控制台应用程序中使用RestSharp
- 使用在线工具验证我的pdf文件编码是否正确
- 对着电脑大喊大叫
最后,如果你们中有人对使用和创建RESTful服务的优秀API书籍/培训有什么建议,请告诉我。显然,我还有很长的路要走。我认为您可能使用了过时的图像,因此使用了过时的URL。您的图像有:
端点:https://api.perka.com/1/communication/job/apply
但显示了不同的url:
端点:https://getperka.com/api/2/apply
我没有直接的解决方法,但我可以为您提供一些信息,这些信息可能会引导您找到您想要的路径 首先,端点未找到错误可能有很多方面:
- 您拥有的API URL缺少保存您尝试执行的命令的内容。例如,有些API有一个基本URL,但有额外的路径指示您是否尝试推送、获取等
- API URL无效(可能已弃用)
- 您拥有的API URL不是未经事先验证即可访问的URL。也就是说,此API可能无法从任何请求点访问。许多API现在需要在API调用之前进行OAuth握手,以确认并授权对它的请求。也可能是,如果API是某种类型的订阅服务,则只能从某些域访问它(请参阅HTTP-referer)
- 您传递的JSON无效或缺少告诉API该做什么所需的关键参数。这与以下方面有关:
var appobject = {
first_name: "John", last_name: "Doe", email: "blah@gmail.com",
position_id: "JS", explanation: "blah blah blah",
projects: ["http://www.google.com", "http://www.yahoo.com/", "http://www.facebook.com", "http://www.amazon.com"],
source: "some guy told me about it",
resume: "ahugelongstringofcharacters"
};
$.ajax({
url: "https://api.perka.com/1/communication/job/apply",
type: "POST",
// contentType: "application/json; charset=UTF-8",
dataType: 'json',
processData:false,
data: appobject,
error: function(__x, __h, __m) {
console.log('API Call Errored', __m, __x, __h);
}, success: function(__data) {
console.log('API Returned Success', __data);
}
});
我希望这些信息能对您有所帮助。404通常意味着找不到端点/资源。尽管响应是通用404,但实际内容是定制的。看起来真的没有找到。{“data”:{},“errors”:{“Not Found”:“Endpoint Not Found”}}我也有同样的错误,你找到解决方案了吗?亨利,没有,我从来没有找到解决方案。我已经尝试了我能想到的一切。也许这是一种测试,你必须找出一些模糊的解决方案,但我是一个初学者,所以我无法理解。老实说,这应该很简单。我不完全相信是我们,也不相信实际的服务器无法接受请求。是的,在我的研究中,我也发现了这个url。此端点给出了不同的错误。我认为这是一个“未授权”的错误或其他什么。
var appobject = {
first_name: "John", last_name: "Doe", email: "blah@gmail.com",
position_id: "JS", explanation: "blah blah blah",
projects: ["http://www.google.com", "http://www.yahoo.com/", "http://www.facebook.com", "http://www.amazon.com"],
source: "some guy told me about it",
resume: "ahugelongstringofcharacters"
};
$.ajax({
url: "https://api.perka.com/1/communication/job/apply",
type: "POST",
// contentType: "application/json; charset=UTF-8",
dataType: 'json',
processData:false,
data: appobject,
error: function(__x, __h, __m) {
console.log('API Call Errored', __m, __x, __h);
}, success: function(__data) {
console.log('API Returned Success', __data);
}
});