JSONP ใน Safari/iPhone และ Opera/Android ไม่ทำงาน

ฉันกำลังพยายามสร้างคำขอ JSONP ที่ใช้ได้กับเบราว์เซอร์เดสก์ท็อปทั้งหมด แต่ใช้ไม่ได้กับ iPhone และ Android

ฉันกำลังทำการเรียกข้ามโดเมนไปยังบริการเว็บซึ่งส่งคืน JSONP เช่น:

myFunction({name : "Jonh", last : "Doe"})

        $.ajax({
                type: "GET",
                crossDomain: true,
                url: "http://192.168.1.41:8081/Service1/",
                dataType: "jsonp",
                processData : true,
                headers: {
                    "Content-Type": "application/json"
                },
                jsonp : "myFunction",
                jsonpCallback: "myFunction"
                });

    function myFunction(data)
    {
        alert("Hello world!");
    }

มันใช้งานได้บนเดสก์ท็อป แต่ไม่ใช่ในมือถือ!

มีความคิดอะไรบ้าง?


person Roberto Zamora    schedule 14.05.2012    source แหล่งที่มา
comment
ดูโพสต์นี้เพื่อดูคำตอบ: stackoverflow.com/questions/7747264/   -  person Aleksey    schedule 19.09.2013
comment
ขอบคุณมันช่วยฉันได้มาก! :)   -  person Roberto Zamora    schedule 01.10.2013


คำตอบ (1)


ปัญหาของฉันคือฉันส่งคำขอ JSONP จากเซิร์ฟเวอร์ http (เครื่อง dev ของฉัน) ไปยังเซิร์ฟเวอร์ https

เพื่อให้ชัดเจนเต็มที่ดูเหมือนว่า

คำขอจาก http://localhost.com ถึง https://api.xxx.com

ใช้งานได้กับทุกเบราว์เซอร์ ยกเว้นซาฟารีบนมือถือ

http -> http = งาน
https -> https = งาน
http -> https = ไม่ทำงาน

person Alexey B.    schedule 10.11.2014