亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下,所以我該怎么用ajax跨域POST數據呢?

如下,所以我該怎么用ajax跨域POST數據呢?

烙印99 2023-05-01 14:10:29
我在js中用xmlhttprequest對象向node.js服務端發送POST請求,數據全部是json格式,但是因為前端和服務端沒部署到一個域下,結果訪問前端的時候就提示is not allowed by Access-Control-Allow-Origin……
查看完整描述

2 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

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

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

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

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域名中服務器

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

后端print數據到頁面中后就會這樣

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


查看完整回答
反對 回復 2023-05-03
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

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

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

這樣就Ok了


查看完整回答
反對 回復 2023-05-03
  • 2 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號