Puedes usar JSONP. Por ejemplo:
Mandas el dni al servidor:
var data {
dni: $("#txt-dni").val()
}
$.ajax({
url: "www.dominio.algo/checkDNI".
method: "GET",
dataType: "jsonp",
data: data
})
.done(function(data) {
var response = data.responseJSON;
var status = response["status"];
if(status) {
// existe
} else {
// no existe
}
})
.fail(function(jqXHR, textStatus, errorThrown)) {
// dni no existe
});
Y en tu script PHP en el servidor:
$dni = $_GET["dni"];
// haces la comprobacion
if($dni == /* */) {
$response["status"] = true; // existe
$response["message"] = "DNI existente.";
$response["surnames"] = /* ... */;
$response["names"] = /* ... */
/* otros datos... */
}
else {
$response["status"] = false; // no existe
$response["message"] = "DNI inexistente.";
}
Importante que debe ser JSONP, ya que éste acepta peticiones cross domain. Saludos.