在項目中,使用埋點的時候,因為使用的是外部提供的接口,所以直接請求的時候,前端會報跨域的問題,本著不麻煩后端的想法,怎怎么前端實現跨域而完全不需要后段的配合,這時候就想到了通過script標簽,不受瀏覽器同源策略的影響的特性。
直接通過其src去請求接口,例如下面代碼就是當用戶注冊成功后,userId就會有值,然后創建一個script標簽去請求一個埋點。這樣就不會有報跨域的錯了,不過這樣不能拿到get的數據,只能適用于get請求且不需要獲取其返回的數據
{userId ? <Scriptasyncid="central1-js"src={`https://us-central1-madrid-investing.cloudfunctions.net/PostbackCloudFunciton/?token=W2ZXJpc2y2FmZmlsYXRpb25fds&advertiser=Elite%20Zone%20Limited&brand=CDEX&model=CPL&affiliate_id=1&user_id=${userId}&event_type=Lead&subID=${userId}`}/>: null}
使用上述方法請求的,其在控制臺中網絡里的請求類型為script而不是我們平常通過ajax請求的xhr類型