[問題]請問 AJAX的跨網域傳值

作者: crossdunk (推噓自如)   2015-01-15 10:35:13
小弟最近跟其他公司需要合作
內容是傳值給對方,讓對方顯示在他的頁面上
一開始是使用網址帶值近去
但是遇到亂碼的問題,對方說他們是UTF8
而小弟的頁面也是utf8,所以對方覺得問題是出在使用網址帶值上
而叫我用post的,還另外寫了個JAVASCRIPT給小弟
var testObject = {'Name':'中文字','Trv':'V123' Remark':'REMARK',
'groupId':'123456','Date':'2015_01_01','Style':'B01'};
$.ajax({
type: 'POST',
url:
'http://小弟的網址.COM.TW/',
dataType: 'JSONP',
contentType: 'application/x-www-form-urlencoded;
charset=UTF-8',
crossDomain: true,
data: {
trvParams: JSON.stringify(testObject)
},
success: function(data) {
document.location.href='https://對方的網址.COM.TW';
// 網址格式
},
error: function(data) {
alert('fail'); //
}
});
因為小弟沒看過這種方式來帶值,所以就直接複製貼上去測試
發現javascript會報錯
於是就使用建立表單再submit,但是這樣對方說依然會有亂碼
小弟有試過將中文urlencode,但對方似乎不想urldecode
堅持只要使用他們給我的程式碼就不會有誤,但給我的程式碼會報錯
小弟在網路上查詢都只有看到用JSONP跨網域取值的相關,並沒有傳值
所以請問各位先進JSONP要如何帶值進入對方的頁面呢?
先在這邊感謝各位了!
作者: KawasumiMai (さあ、死ぬがいい)   2015-01-15 15:26:00
有點看不太懂,為什麼會在ajax裡面送JSON.stringify(testObject)出去,還會收到success之後使用location.href呢?轉頁?不是應該寫一個能return出json資料的api給對方用然後Client端單純使用ajax傳post過去要資料嗎?過程應該不是"傳值"給對方,是"回傳值"給對方這兩者差在主動跟被動,你要做的應該是寫出東西讓對方用ajax call吧?個人淺見...你是資料提供者,對方要你的值顯示在對方頁面上,你應該不會寫到$.ajax這幾個字你應該是寫個aspx或php弄出callback(json)讓對方call$.ajax這段是對方要寫的,雖然success後的處理很怪..

Links booklink

Contact Us: admin [ a t ] ucptt.com