ajax,jsonp处理跨域问题

发布时间 2023-04-19 16:13:37作者: bilzzard

最近有个需求根据ip获取ip的归属地址,根据第三方https://whois.pconline.com.cn/ipJson.jsp?ip=${ip},使用ajax处理跨域代码如下:

// AJAX 请求示例
   function getIpLocation(ip) {
        const apiUrl = `https://whois.pconline.com.cn/ipJson.jsp?ip=${ip}`;
        $.ajax({
            url: apiUrl,
            type: "Post",
            dataType: "jsonp",# 这里要用jsonp
            success: function(response) {
                // 处理响应数据,拿到数据下面完成你的代码               
            },
            error: function(jqXHR, textStatus, errorThrown) {
                // 处理错误
            }
        });
    }
  // JSONP 请求示例
  function getIpLocation(ip) {
    const apiUrl = `https://whois.pconline.com.cn/ipJson.jsp?ip=${ip}`;
    const callbackName = 'jsonpCallback';

    const script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = `${apiUrl}?ip=${ip}&callback=${callbackName}`;

    document.body.appendChild(script);

    window[callbackName] = function(response) {
      console.log(response);
      // 在这里处理响应数据
    };
  }

另外跨域http状态码返回的是403