获取请求未得到响应但显示错误

问题描述

我必须使用 ajax 请求 API,当我将其复制粘贴到浏览器时,其显示结果:

http://c.t.com/t1/index.mpl?formdata={

"FormSubmit":{

"pt": "formsubmit","ptnr": "dsvdsvdsvdsvdsv","key": " dvzvdzvzvzvzvzvz","mode": "test","ADDR":"209.00.00.00","city":"Los Gatos","company":"NetLine Corporation","country": "US","email":"[email protected]","first":"Adam","indcode1": "224","indcode2": "4","last":"Benson","notice": "yes","ocpcode1": "415","ocpcode2": "401","ocpcode3": "3","orgemp": "D050","OfferCode": "w_make126","phone":"4083402200","state":"CA","street":"750 University Avenue","title": "Engineer","OfferVersion": "2000","zip":"95032"

    }

}
但是当我尝试使用 ajax get 请求获取这个 api 时,它会显示错误。 我的代码

$(document).ready(function(){
        // click on button submit
        $("#submit").on('click',function(){
            obj ={
                "FormSubmit":{
                "pt":$('input:hidden[name=pt]').val(),"ptnr":$('input:hidden[name=ptnr]').val(),"key":$('input:hidden[name=key]').val(),"mode":$('input:hidden[name=mode]').val(),"ADDR":$('input:hidden[name=ADDR]').val(),"city":$('input:text[name=city]').val(),"company":$('input:text[name=company]').val(),"country":$('input:text[name=country]').val(),"dept_div":$('input:text[name=dept_div]').val(),"email":$('input:text[name=email]').val(),"indcode1":$('input:text[name=indcode1]').val(),"indcode2":$('input:text[name=indcode2]').val(),"last":$('input:text[name=last]').val(),"notice":$('input:text[name=notice]').val(),"ocpcode1":$('input:text[name=ocpcode1]').val(),"ocpcode2":$('input:text[name=ocpcode2]').val(),"ocpcode3":$('input:text[name=ocpcode3]').val(),"orgemp":$('input:text[name=orgemp]').val(),"OfferCode":$('input:text[name=OfferCode]').val(),"phone":$('input:text[name=ocpcode1]').val(),"state":$('input:text[name=ocpcode1]').val(),"street":$('input:text[name=street]').val(),"title":$('input:text[name=title]').val(),"OfferVersion":$('input:text[name=OfferVersion]').val(),"zip":$('input:text[name=zip]').val(),}}
            // obj="{FormSubmit:{"+$("#form").serialize()+"}}"
            console.log(obj)
            console.log(typeof(obj))
            console.log(typeof($('input:text[name=street]').val()))
            $.get("https://c.t.com/t1/index.mpl?formdata="+JSON.stringify(obj),function(data,status){
            alert("Data: " + data + "\nStatus: " + status);
  });
        });
    
    });

我认为错误是因为我以错误的方式获取。帮我解决这个问题。 我尝试了一切来解决问题。

Error

解决方法

出现错误的原因 - CORS 问题。您可以查看这篇文章以了解其发生的原因https://medium.com/@dtkatz/3-ways-to-fix-the-cors-error-and-how-access-control-allow-origin-works-d97d55946d9#:~:text=The%20error%20stems%20from%20a,the%20browser's%20cookie%20storage%20system

作为结论 - 没有“正常”的方法可以在客户端修复它。您可以尝试使用代理来调用请求的临时解决方案。

例如 - 向 https://cors-anywhere.herokuapp.com/https://c.t.com/t1/index.mpl 发出 ajax 请求