Http Request JavaScript

อยากทราบครับว่าจะสร้างตัว client จาก javascript เป็นไปได้ไหม ครับ
จากที่ผมศึกษามา
ผมใช้ตัวนี้ครับ

            var settings = {
                "async": true,
                "crossDomain": true,
                "url": "http://localhost:21130/api/Account/External",
                "method": "GET"
                //"url": "http://localhost:21130/api/DashBoard/DecryptUserId/158",
                //"method": "POST"
                ,"headers": {
                    //"Access-Control-Allow-Origin": "http://localhost:6847",
                    //"Access-Control-Allow-Methods": "GET, POST, OPTIONS",
                    //"Access-Control-Allow-Headers": "Origin, Content-Type, Accept, Authorization, X-Request-With",
                    //"Access-Control-Allow-Credentials": "true"
                    //"access-control-allow-origin": "http://localhost:54987"
                    //   "authorization": "Bearer bXBhOjEyMzQ="

               //   "authorization": "Bearer[bXBhOjEyMzQ=]",
                    "Content-Type":"text/plain;charset=UTF-8"
                  
                }
            }

            $.ajax(settings).done(function (response) {
                console.log(response);
            });





หรือตัวนี้ก็ใช้ได้ครับ




  var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("demo").innerHTML = this.responseText;
                }
            };
            xhttp.withCredentials = true;
      
            xhttp.open("GET", "http://localhost:21130/api/Account/External2", true);
            xhttp.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
           xhttp.setRequestHeader("Authorization", "Bearer[bXBhOjEyMzQ=]");
     
            xhttp.send();


แต่ติดปัญหาตรงที่
Failed to load http://localhost:21130/api/Account/External: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:6847' is therefore not allowed access.

ผมลองดัก error ที่ฝั่ง web API server มันเข้า route ได้ถูกต้องแล้วครับแต่เหมือนจะคืนค่าไม่ได้
จาก error ที่ผมศึกษามา มันเป็นเพราะส่ง 2 โดเมน จึงเกิดการ cross เกิดขึ้น เรียกว่า โดเมนครอส
วิธีแก้คือ ใส่ เฮดเดอ Access-Control-Allow-Origin เข้าไป
แต่ปัญหามีอยู๋ว่าพอผมใส่ header แล้วส่งเข้าไปที่ web  API server มันเข้า Dispose(bool disposing) และทำการทำลาย request นี้
เหมือนอาการใส่ header ผิด
อีกอย่างผมไม่สามารถใส่ authorization ได้ รูปแบบการใส่ที่ค้นหามาคือ


"headers": {
  "authorization": "Bearer bXBhOjEyMzQ="   ,
"Content-Type":"text/plain;charset=UTF-8"               
                }


ซึ่ง เจ้า Content-Type สามารถส่งไปได้หากเอา authorization ออกหรืออีกแบบคือ


      xhttp.setRequestHeader("authorization", "Bearer bXBhOjEyMzQ=");






สรุป***
ผมไม่สามารถใส่ header ของ  authorization  และ Access-Control-Allow-Origin  เป็นเพราะอะไรหรอครับ
ใครพอทราบครับ รบกวนด้วยครับ   
ขอบพระคุณครับ
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่