2016-04-25 5 views
2

Ошибка:Аякса крест домен не работает в JQuery

Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values ' http://localhost:8080 , *', but only one is allowed. Origin ' http://localhost:8080 ' is therefore not allowed access.

$("#selector3").autocomplete({ 
      source: function(request, response) {    

       $.ajax({ 
        url: "http://example.com/"+$("#selector3").val(), 
        type: "GET", 
         dataType: "json", 
         data: request, 
         processData: true, 
         data: {}, 

         headers: { 
          "Access-Control-Allow-Origin" : "*", 
          "Access-Control-Allow-Headers": "origin, content-type, accept" 
            }, 

         crossDomain: true, 
        success: function(data) { 
         alert(data.Company_Id); 
}); 

ответ

0

вы не можете сделать AJAX operaitons на других сайтах, кроме исходного кода, у вас есть права. вы должны это сделать на стороне сервера. в php вы можете использовать cURL, в .net вы можете использовать html agility pack.

0

Заголовки, отправляемые сервером с Javascript, должны быть возвращены сервером. Если у вас нет доступа к серверу, это будет невозможно. Это означает, что сервер принимает ваш домен как законный процессор.

Рядом с этим вы можете попробовать звонок JSONP. Проверьте этот URL-адрес: https://learn.jquery.com/ajax/working-with-jsonp/

2

Пожалуйста, используйте JSONP для междоменных скриптов.

Проверьте ниже пример кода:

$.ajax({ 
    url: "http://example.com/" + $("#selector3").val(), 
    type: "GET", 
    dataType: 'jsonp', // Notice! JSONP <-- P (lowercase) 
    data: request, 
    processData: true, 
    data: {}, 
    headers: { 
     "Access-Control-Allow-Origin": "*", 
     "Access-Control-Allow-Headers": "origin, content-type, accept" 
    }, 
    success: function(data) { 
     alert(data.Company_Id); 
    } 
}); 
+0

Я изменил тип данных: JSONP, я получаю сообщение об ошибке ответа в (Error: jQuery1113042518210380525434_1461646502000 не называли) – Arunkumar

+0

@Arunkumar, Это означает, что либо ошибка сети или конец что не возвращает ответ JSONP. –

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