如何在angular的$http中添加ajax的dataType属性
How to add dataType property of ajax in $http of angular?
我想使用Angular对服务器进行rest调用,但我被阻止了。我尝试了使用带有基本授权头的传统jQuery ajax调用,看起来像这样:
jQuery.ajax({
url: "http://localhost:8080/public/emp",
type: "GET",
dataType:"jsonp",
Accept : "application/json",
contentType: "application/json",
headers: {
'Authorization': 'Basic XXXXXXXXXXX'
},
success: function (data){
alert(data);
},
error: function(){
alert('Error');
}
});
它工作得很好,可以检索数据。
但是当我尝试用AngularJs的$http转换它时。类似这样的东西:
$http({
method:'GET',
url : 'http://localhost:8080/public/emp',
headers: {'Authorization': 'Basic XXXXXXXXXX',"content-type":"application/json","Accept" : "application/json"}})
.success(function (data) {
alert("success");
})
.error(function (error) {
alert("error");
});
它给我错误401-未经授权的
如何将dataType属性添加到$http?我尝试过这个堆栈溢出的链接,但仍然无法得到解决方案。
您尝试过$http.jsonp方法吗?对于您的情况,这应该是这样工作的:
$http.jsonp('http://localhost:8080/public/emp', {
headers: {
'Authorization': 'Basic XXXXXXXXXX',
"content-type":"application/json",
"Accept" : "application/json"
}});
这里还有一个工作plunker的例子。angular团队的更通用的一个
尝试此获取方法
js中的
$http({
url: 'customUrl',
method: 'GET',
params: {},
}).then(function (result) {
return result;
}).catch(function (e) {
throw e;
});
在api中
[HttpGet]
public string GetDraftData(byte id)
{
return string;
}
试试这个张贴方法
js中的
$http({
url: 'customUrl',
method: 'POST',
data: yourJsonData,
headers: { 'Content-Type': 'application/json; charset=UTF-8' },
//params: { jsonData: "I am shohel rana" },
//timeout: 10,
//cache: false,
//transformRequest: false,
//transformResponse: false
}).then(function (success) {
return success;
}).catch(function (e) {
throw e;
});
在api中
[HttpPost]
public bool SaveDraft([FromBody]object draft)
{
try
{
return _iDraftDataSvc.InsertDraftData(draft);
}
catch (Exception)
{
throw;
}
}
尝试将方法从GET更改为JSONP。我不太确定是否可以添加自定义标头(正如我所听到的),我还没有尝试过。
$http({
method:'JSONP',
url : 'http://localhost:8080/public/emp',
headers: {'Authorization': 'Basic XXXXXXXXXX',"content-type":"application/json","Accept" : "application/json"}})
.success(function (data) {
alert("success");
})
.error(function (error) {
alert("error");
});
相关文章:
- jQuery-通过AJAX调用动态添加具有值的表单元格
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- 如何在所有ajax调用中向URL添加参数
- 如何在boomrang页面加载时间中添加ajax执行时间
- 根据泛型函数中的参数动态添加ajax处理程序
- 添加ajax jQuery文件上传
- 如何在angular的$http中添加ajax的dataType属性
- 添加AJAX错误:&成功:打破常规
- 添加Ajax调用冷却时间
- 在jQuery承诺的数组中添加ajax会导致意想不到的行为
- 如何在knockout中添加ajax成功(或错误)后的超时消息
- Jquery帮助添加ajax功能的输入字段
- 抑制和添加ajax调用的参数
- 为无限滚动添加ajax
- 单击添加Ajax内容后事件不工作
- CQ:为什么jquery在我的web服务url的开头添加/ajax
- jQuery没有'添加ajax后无法工作
- 如何添加ajax后查询发送
- 如何在父页面的POST中添加ajax表单字段
- 如何在通知中添加AJAX提交表单而无需重新加载页面