si agiscono in modo asincrono.

Se i dati puoi riceverli direttamente da php(e da quanto hai scritto non mi sembra ci siano motivi particolori per cui non dovresti poterlo fare), effettueri la chiamata direttamente dal server(senza problemi di dominio), l'unico vantaggio di farlo con js è il fatto del refresh della pagina.

Ricevendo dati in JSON è meglio JsonP?
Per implementare una chiamata Jsonp è necessario che la risorsa esterna che invia i dati indichi il "metodo"(o lo riceve in input) che deve occuparsi di ricevere la risposta, questo metodo viene chiamato callback, quindi la risposta deve essere di questo tipo: "callback(dati in qualunque formato)". Dovresti cambiare la risposta del dispositivo per aggiungere il "callback", cosa che immagino non puoi fare.
Il CORP se non ricordo male non funziona su IE(o cmq solo su versioni recenti), ci sono anche altre tecniche, ma sono implementabili solo su FF(o cmq browser basati su gecko).