POST <APIURL> net::ERR_NAME_NOT_RESOLVED

POST <APIURL> net::ERR_NAME_NOT_RESOLVED

我正在尝试创建一个简单的网络申请表。它要求用户输入他们的信息,然后单击提交,理想情况下会点击 api 并将信息存储在类似 dynamodb 的地方。

我有这个代码

      $.ajax({
        type: 'POST',
        url: 'myAPI',
        contentType: 'application/json',
        data: data,
        success: function(res) {
          $('#form-response').html('<div class="mt-3 alert alert-success" role="alert"><p>Congratulations! You should receive an email with your personalized invitation soon!.</p></div>');
          $('#yobutton').prop('hidden', true);
          $('#yobutton').text('Preferences saved!');
        },
        error: function(jqxhr, status, exception) {
          $('#form-response').html('<div class="mt-3 alert alert-danger" role="alert">An error occurred. Please try again later.</div>');
          $('#yobutton').prop('disabled', false);
        }
      });

返回响应错误POSTnet::ERR_NAME_NOT_RESOLVED

对于我的生活,我无法弄清楚这里出了什么问题......它引用了这一行的 jquery.min.js 文件:s.send(t.hasContent && t.data || null)

这是名称解析问题,您的代码没有问题。

基本上,您的计算机必须将您网站的名称“转换”为它可以向其发送数据包的 IP 地址。

名称解析 == 主机名 -> IP。

这个过程可以通过多种方式完成。 主机文件、本地名称解析协议(如 llmnr 或 nbns),以及最著名且可能最相关的 DNS。

如果托管 API 的主机没有 DNS 记录, 作为临时解决方法:

您可以将您的记录添加到您的 hosts file

或者直接输入 IP 地址,尽管这可能会干扰 HTTP 反向代理等。(或者理论上它可能会在某些时候改变)

如果它的 dns 记录确实存在,那么您的 'myAPI' 中可能有错字。

在 cmd

中尝试 运行

nslookup example.com

然后相同,但将 example.com 替换为您的主机名。 (没有 / 和后面的所有内容!)