鍍金池/ 問答/HTML5  HTML/ javascript如何向一個遠(yuǎn)程地址post一個json格式的數(shù)據(jù)?

javascript如何向一個遠(yuǎn)程地址post一個json格式的數(shù)據(jù)?

項目中遇到了一個很棘手的需求,請各位前輩指導(dǎo)一下思路,先謝過了~

需求是:
要求用js向一個遠(yuǎn)程地址post一個json格式的數(shù)據(jù)

比如說遠(yuǎn)程地址是:http://50.60.70.80:1502/message

要求發(fā)送的格式是:

{
    "person":{
        "id":xxx,
        "name":xxx,
        "age":xxx
    }    
}

然后根據(jù)服務(wù)器返回的數(shù)據(jù)再進(jìn)行下一步操作。

我覺得很棘手的地方

(1)這個遠(yuǎn)程地址是第三方提供的,所以發(fā)送請求的數(shù)據(jù)格式不能修改,也智能接受post方式。
(2)地址是遠(yuǎn)程的,所以不能用ajax,否則會遇到跨域問題

最常規(guī)的做法是用表單向這個地址POST一個數(shù)據(jù)
但是提交出去的數(shù)據(jù)格式是xxx=xxx&zzz=zzz這種格式,不是json格式
所以我該怎么做?

回答
編輯回答
萌二代

form 沒法發(fā)送 json。
解決方法是與 api 提供方協(xié)商。

如果你只在本地開發(fā)環(huán)境使用的話可以使用反向代理。

2017年6月8日 06:50
編輯回答
爛人

你使用form表單就不會跨域嗎?使用代理服務(wù)器啊。

2017年3月16日 23:04
編輯回答
雅痞
  • var formData = new FormData();
    formData.append('name', name);
    formData.append('age', age);
    $.ajax({

            url: url,
            data: ossData,
            type: 'POST'
        })
  • 如果你用axios的話,那就更簡單了,直接{}包起來就是json格式
2018年9月9日 16:35