2013-10-02 4 views
3

Я пытаюсь сделать простой запрос ajax по следующему URL-адресу. https://insightsoftwaresolutions.atlassian.net/rest/api/2/issue/createmeta?projectKeys=TES&issuetypeNames=Bug&expand=projects.issuetypes.fieldsAjax Jquery не работает

Он получает ответ JSON, когда я просто помещаю URL-адрес в навигационную панель браузера и нажимаю клавишу ввода, но он не работает, когда я пытаюсь выполнить jQuery ajax-вызов. У него нет никаких консольных ошибок.

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script> 

    <script> 
     $(document).ready(function() { 

      $.ajax({ 
       cache: false, 
       type: 'GET', 
       crossDomain: true, 
       url: 'https://insightsoftwaresolutions.atlassian.net/rest/api/2/issue/createmeta?projectKeys=TES&issuetypeNames=Bug&expand=projects.issuetypes.fields', 
       contentType: 'application/json; charset=utf-8', 
       dataType: 'jsonp', 

       success: function (data) { 
        alert("success"); 
       }, 
        error: function (jqXHR, textStatus) { 
         //displayCallResults(jqXHR); 
         alert("error"); 
        } 
      }); 

     }); 
    </script> 

UPDATE:

Я изменил тип данных: 'JSONP' для типа данных: '' JSON. Затем я получаю следующую ошибку.

Origin http://localhost:3029 is not allowed by Access-Control-Allow-Origin. 
+0

Что находится в закладке сети? – KnowHowSolutions

+3

Не похоже, что указанный api поддерживает jsonp –

+0

Итак, что это за сообщение об ошибке и код ошибки, а не только предупреждение ('error')? Кроме того, вы использовали Fiddler для проверки запроса и ответа? Вы пробовали POST вместо GET? –

ответ

2

Ваш сервер не поддерживает JSONP. Либо изменить что

ИЛИ

Добавить заголовки в Nginx для поддержки CORS на стороне сервера. ИЛИ вы можете добавить заголовок CORS на стороне сервера.

header("Access-Control-Allow-Origin: *"); 
header("Access-Control-Allow-Headers: *"); 

После того, как вы делаете, что вы можете получить доступ к код, используя простой

$.getJSON(url).done(function(response) { 
    console.log(response); //here's your response 
});