2015-05-04 2 views
0

Мне нужно отправить данные в API, который (по какой-то странной причине) ожидает этого {'user_uid:' 22222 '} буквально.AngularJS/jQuery отправка POST-данных

Im пытается сделать это с JQuery, как это:

$.ajax({ 
    type: 'POST', 
    url: 'https://api.com/api/', 
    'user_id': '2222' 

    success: function(result) { 
     console.log(result); 
     if(result.error){ 

     }else{ 

     } 
    }, 

    error: function(xhr, ajaxOptions, thrownError) { 
     console.log(xhr.status); 
     console.log(thrownError); 
    }, 
}); 

И с AngularJS:

$http.post('https://api.com/api', {'user_id': '2222'}) 
.success(function(data) { 

}

Weird вещь, если я попытаюсь сделать это в Почтальон, я необходимо использовать «сырой» запрос и ввести: {'user_id': '22222'}

Но если Я использую данные формы, которые он терпит.

Может ли кто-нибудь указать мне в правильном направлении?

Заранее спасибо.

+1

' 'user_id':«2222'' <- недопустимый оператор –

+0

Ваш пример JQuery собирается бросить синтаксическую ошибку независимо. Вы должны дважды проверить документацию о том, как создавать вызовы AJAX. Если вам нужна буквальная строка символов, вы должны указать простой текст. Аналогично, если вы пытаетесь отправить данные JSON, вы должны правильно его изложить и снова указать свой тип данных. – Oka

ответ

2

Я бы добавил это в комментарий, но было бы трудно прочитать код.

Я подозреваю, что API нуждается в строгом вводе. Вы можете попробовать:

$.ajax({ 
    type: 'POST', 
    url: 'https://api.com/api/', 
    data: JSON.stringify({'user_id': '2222'}), 

    success: function(result) { 
     console.log(result); 
     if(result.error) { 

     } else { 

     } 
    }, 

    error: function(xhr, ajaxOptions, thrownError) { 
     console.log(xhr.status); 
     console.log(thrownError); 
    }, 
}); 
+0

: данные: JSON.stringify ({'user_id': '222222'}), такая же ошибка :( – mdv

+0

Привет, работал с этим: JSON.stringify ({"user_id": "100006"} как я могу подражать этому в AngularJS – mdv

+0

'$ http.post ('https://api.com/api', JSON.stringify ({'user_id': '2222'}))'. – Calvintwr

2

Попробуйте это:

$http({ 
    url: 'customUrl', 
    method: 'POST', 
    data: JSON.stringify({ "user_id": "100006" }), 
    headers: { 
    'Content-Type': 'application/json; charset=UTF-8' 
    } 
}).then(function (success) { 
    return success; 
}).catch(function (e) { 
    throw e; 
}); 
+0

Im пытается: $ http.post ('https: //api.urlrl.giftapi', {"user_id": «2222»}), но он говорит: o 'Access-Control-Allow-Origin' заголовок присутствует на запрошенном ресурсе. Поэтому исходный 'null' не имеет доступа. Это работает с JQuery ajax-вызовом – mdv

+0

Access-Control- Allow-Origin - это заголовок CORS (Cross-Origin Resource Sharing). Вы должны больше узнать о CORS. – jbigman

+0

Такое же поведение описывает ed здесь: http://forum.ionicframework.com/t/http-no-access-control-allow-origin-problem-on-post/5625 – jbigman

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