2013-10-01 3 views
1

Я делаю вызов веб-службы с использованием jQuery $ .ajax на сервере в другом домене, который я не контролирую. К сожалению, сервер отвечает JSON, а не JSONP. Таким образом, я получаю ошибку Unexpected Token :, когда мой обратный вызов пытается выполнить JSON без обратного вызова «padding» it (JSON сам по себе недействителен Javascript).Перекрестный домен jQuery Ajax Получить запрос, который игнорирует ответ

Я хочу знать, есть ли способ использовать $ .ajax, чтобы сделать кросс-доменный запрос GET и игнорировать ответ. Мне действительно нужна только односторонняя связь.

Фрагмент кода:

$.ajax( 
{ 
    url: 'http://service.somedomainidontcontrol.com', 
    method: 'GET', 
    dataType: 'jsonp', 
    success: function(){ 
     e_log("Success"); 
    }, 
    data: my_data 
    } 
); 

ответ сервера (который я хотел бы игнорировать):

{"status":"success"} 

Это произошло со мной, что я мог бы, возможно, добавить в IFrame к DOM для достижения этой цели, но Я действительно хочу более чистое решение. Кроме того, я бы предпочел не полагаться на другой сервер для прокси-запроса.

ответ

7

Я правильно понял, что вы хотите отправить запрос на сервер, который вы не контролируете, но все равно, если вы получите ответ?

Если это так, то вы можете создать образ в JavaScript и использовать адрес сервера в качестве источника:

var img = new Image(); 
img.src = 'http://service.somedomainidontcontrol.com'; 

Как только вы добавляете src к изображению, он будет стрелять из запроса к серверу. Вы получите ответ, который не имеет никакого смысла в качестве изображения, но кто заботится. :)

+1

Блестящий! Какое простое и чистое решение. Я тестировал, и он делает именно то, что мне нужно. Благодарю. – meub

+0

Это ящик для глаз для меня! Я могу использовать это во многих местах. Благодаря ! –

0

ВНИМАНИЕ. Это старо, но я хотел указать другим, что это для решения img - это уже не «асинхронно». Это означает, что если сервер не реагирует на запросы, вы можете задержать время загрузки страницы.

Если вы используете решение тега img, обязательно подключите его к завершению страницы или выполните другие действия, чтобы не повлиять на производительность сайта.

Смежные вопросы