Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript不断从Perka.com作业应用程序的API Post请求中获取404错误_Javascript_Jquery_Api - Fatal编程技术网

使用JavaScript不断从Perka.com作业应用程序的API Post请求中获取404错误

使用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"}} 我可以看到有效负载,它的格式似乎正

Perka有一个很酷的工具,你可以使用他们的API申请工作。(免责声明:很明显,若我不能弄清楚,我怀疑我是否有资格获得这份工作,但我只需要知道我做错了什么!)

下面是我使用jQuery编写的JavaScript代码(我也用C#编写,并且有相同的404):

无论我做什么,我都会得到一个404错误

以下是API要求:

控制台在请求后始终显示以下内容:

{"data":{},"errors":{"Not Found":"Endpoint not found"}}
我可以看到有效负载,它的格式似乎正确:

首先发送一个选项请求,但这不会影响POST请求,对吗?(我一直在读CORS,但我自己还不能回答这个问题。)

我也试过:

  • 端点的各种变化。(因为这是一份求职申请,也许他们在测试我。如果是的话,他们现在有100份我的简历。)
  • 在C#控制台应用程序中使用RestSharp
  • 使用在线工具验证我的pdf文件编码是否正确
  • 对着电脑大喊大叫
另外,如果数据格式不正确(我怀疑),是否会返回404错误


最后,如果你们中有人对使用和创建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);
    }
});