2014-03-14 82 views
1

我需要從另一臺服務器訪問一個php文件 即,我不支持php.I的服務器需要發送電子郵件。CROSS DOMAIN ISSUE - jsonp不工作

我試過跨域的服務器,它有php和php的功能發送郵件。

我想這將JSONP

這是我的代碼

var app = 'http://www.maildomain.com/mail.php'; 
$.ajax({ 
    url: app, 
    async: true, 
    dataType: "jsonp", 
    jsonp: "jsoncallback", 
    type:"POST", 
    success: function(html){ 
     alert("aa"); 
    }, 
    error: function(){ 

    } 
}); 
+0

什麼是 「不工作」 是什麼意思?成功處理程序是否會觸發?錯誤處理程序是否觸發?電子郵件是否被髮送? JS控制檯中是否有錯誤?當您查看瀏覽器開發人員工具中的Net選項卡時,您是否看到請求被髮送?它是按照你期望的方式格式化的嗎?怎麼迴應? – Quentin

回答

0

感謝您給出的答案。

大家都很接近答案

我也無妨......這是這是造成問題的異步參數。它需要設置爲false。

這個工作

var app = 'http://www.maildomain.com/mail.php'; 
$.ajax({ 
    url: app, 
    async: false, 
    dataType: "jsonp", 
    jsonp: "jsoncallback", 
    type:"POST", 
    success: function(html){ 
     alert("aa"); 
    }, 
    error: function(){ 
    } 
}); 
0

Disable same origin policy in Chrome

到這個鏈接 你做這個 後,這是谷歌Chrome瀏覽器是做跨域它應該工作問題

+0

這並不能解釋爲什麼問題中的代碼不起作用(因爲JSONP的要點是繞過相同的原始策略),並且OP無法訪問並關閉所有訪問其瀏覽器的瀏覽器中的安全功能現場。 – Quentin

+1

必須在URL末尾添加回調? – user3374969