第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如下,所以我該怎么用ajax跨域POST數(shù)據(jù)呢?

如下,所以我該怎么用ajax跨域POST數(shù)據(jù)呢?

烙印99 2023-05-01 14:10:29
我在js中用xmlhttprequest對(duì)象向node.js服務(wù)端發(fā)送POST請(qǐng)求,數(shù)據(jù)全部是json格式,但是因?yàn)榍岸撕头?wù)端沒部署到一個(gè)域下,結(jié)果訪問前端的時(shí)候就提示is not allowed by Access-Control-Allow-Origin……
查看完整描述

2 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

一般是用jsonp,原理很簡單,比如你在A域名請(qǐng)求B域名:

1. 在A域名的頁面中使用script標(biāo)簽src寫成B域名中服務(wù)器的URL
script標(biāo)簽是可以跨域的,比如你調(diào)用Google Map或Google Analytics時(shí)引入的js就是google域名下的。

2. 后端程序在最后需要把一段js代碼的字符串print出來,這樣就可以運(yùn)行A域名js中寫好的callback方法,將要返回的數(shù)據(jù)放入?yún)?shù)就可以了

A域名中的js文件:

<script type="text/javascript" src="http://www.b.com/action?callback=myCallback"></script><script type="text/javascript">
    function myCallback (data) {        alert(data);
    }</script>

B域名中服務(wù)器

String cb = get('callback');
Int b = 'return data';print('<script type="text/javascript"> ' + cb + '(' + b + '); </script>');

后端print數(shù)據(jù)到頁面中后就會(huì)這樣

<script type="text/javascript">
    myCallback('return data');</script>


查看完整回答
反對(duì) 回復(fù) 2023-05-03
?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

我做過這樣的jsonp 很簡單的 服務(wù)器返回的js本插入到頭部
補(bǔ)充下服務(wù)器端 以java 為例子
struts.xml 代碼

<action name="xx" class="xxx" method="xxxx">
<result name="success" type="json">
<param name="callbackParameter">callback</param> <!-- callback 可以是自己定義的請(qǐng)求參數(shù)-->
</result>
</action>

這樣就Ok了


查看完整回答
反對(duì) 回復(fù) 2023-05-03
  • 2 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)