bachors / apiapi

4u
116 stars 45 forks source link

Error CORS `Access-Control-Allow-Origin` #1

Open mazipan opened 6 years ago

mazipan commented 6 years ago

Error when trying to hit https://sites.google.com/macros/exec?service=AKfycbx_-gZbLP7Z2gGxehXhWMWDAAQsTp3e3bmpTBiaLuzSDQSbIFWD&menu=nama_produk&query=abc via httpclient.

I use axios as httpclient.

mazipan commented 6 years ago

I use Cek Produk Halal MUI Api

bachors commented 6 years ago

Kalo menggunakan javascript harus menggunakan callback om, ini contoh menggunakan jquery https://github.com/bachors/Ygrab.js/blob/master/js/ygrab.js

mazipan commented 6 years ago

JSONP kali maksudnya ya om ?

bachors commented 6 years ago

Iya om @mazipan jsonp 👍

mazipan commented 6 years ago

Btw ini project yang sedang saya coba bikin pake API tersebut https://github.com/mazipan/cek-halal

Contoh request yang saya bikin ada di https://github.com/mazipan/cek-halal/blob/master/src/pages/Search.vue#L107

bachors commented 6 years ago

Mantap om @mazipan ijin fork untuk belajar vue 👍

mazipan commented 6 years ago

Sekarang malah dapat error ini

Refused to execute script from 'https://sites.google.com/macros/exec?service=AKfycbx_-gZbLP7Z2gGxehXhWMWDAAQsTp3e3bmpTBiaLuzSDQSbIFWD&menu=nama_produk&query=abc&callback=__jp1' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

Pake library ini https://www.npmjs.com/package/jsonp

mazipan commented 6 years ago

screen shot 2017-12-18 at 7 09 27 pm LIhat networknya aneh ya. Jadi 3 request. Yang pertama dapat response 307, kedua 302 baru 200.

bachors commented 6 years ago

ini conto menggunakan callback jquery

`GS('abc', function(arr) { alert(arr[0].title); }) ;

function GS(a, b) { $.getJSON("https://script.google.com/macros/s/exec?query=" + a + "&service=AKfycbx_-gZbLP7Z2gGxehXhWMWDAAQsTp3e3bmpTBiaLuzSDQSbIFWD&callback=?",function(c){ b(c.data); }); }`

mazipan commented 6 years ago

Ini bisa jalan om ? Sudah dicoba kah ? Saya kok curiganya gara2 di redirect URL nyari2 ke url lain.

mazipan commented 6 years ago

Udah nyoba pake jQuery getJSON

let path = `https://sites.google.com/macros/exec?service=AKfycbx_-gZbLP7Z2gGxehXhWMWDAAQsTp3e3bmpTBiaLuzSDQSbIFWD&menu=${this
        .selectedMenu.value}&query=${this.searchText}&cb=?`

$.ajaxSetup({ dataType: 'jsonp' })
$.getJSON(path, function (json) {
   console.log(JSON.stringify(json))
})

Dapat response ini screen shot 2018-01-12 at 4 51 03 pm

Ada ide kah om @bachors ?

bachors commented 6 years ago

o'iya lupa om belum mengatur code callback di google script.y , sekarang mah sudah bisa :+1: http://bachors.com/code/produk-halal-api-javascript

mazipan commented 6 years ago

Masih belum bisa nih om @bachors :-(

mazipan commented 6 years ago

Kemungkinan karena content-type nya salah om @bachors. Kalo jsonp harusnya sih content-type nya javascript bukan json.

*cmiiw

bachors commented 6 years ago

Sudah bener kok om content-type nya mah javscript :) ini saya coba pake vue http://bachors.com/code/cek-halal-vue

mazipan commented 6 years ago

Kok di saya dua duanya gak mau jalan ya demo yang dibuat diatas

bachors commented 6 years ago

Dibukanya lewat smartphone ya om?

mazipan commented 6 years ago

Iya, gak bisa ya ?

mazipan commented 6 years ago

screen shot 2018-01-31 at 9 34 53 am

Screenshoot, access from desktop

mazipan commented 6 years ago

screen shot 2018-01-31 at 9 36 50 am

Other demo screenshoot