Accept Header在javascript中的应用
Application of the Accept Header in javascript
我正试图在json文件中插入一个Accept头。但我不知道为什么这个测试不起作用。你能帮我吗?这是我的代码:
function doJSONRequest(type, url, headers, data, callback){
var r = new XMLHttpRequest();
if(type && url && headers && callback && (arguments.length == 5)){
r.open(type, url, true);
if((type != "GET") && (type != "POST") && (type != "PUT") && (type != "DELETE")){
throw new Error('The value is not recognized')
} else if((type == "POST") || (type == "PUT") || (type == "GET") || (type == "DELETE")) {
try {
if(data === undefined) {
data = null;
}
else if(typeof data === 'object'){
r.send(JSON.stringify(data));
} else {
throw new Error("The data is undefined")
}
} catch (e) {
throw new Error("The data has no JSON format")
}
} else if((type == "POST") || (type == "PUT")){
r.setRequestHeader("Content-type","application/json");
r.send(JSON.stringify(data));
}
这是我使用的测试:
var expectedGETHeader = {
"Accept": "application/json"
}
doJSONRequest("GET", baseUrl, headers, null, callback1);
setTimeout(function(){
QUnit.start();
assert.deepEqual(requests[4].requestHeaders, expectedGETHeader, "should set the '"Accept'": '"application/json'" header for GET requests");
},100);
你能帮我传球吗?具体错误为:
should set the "Accept": "application/json" header for GET requests
Expected:
{
"Accept": "application/json"
}
Result:
{}
Diff:
{
"Accept": "application/json"
} {}
解决方案打开后添加代码行r.setRequestHeader("Accept","application/json");
我没有看到Accept
头在任何地方被设置。也许你可以在呼叫r.send(JSON.stringify(data));
之前这样做,就像这样:
if(data === undefined) {
data = null;
}
else if(typeof data === 'object'){
r.setRequestHeader('Accept', 'application/json'); // <-- this was added
r.send(JSON.stringify(data));
} else {
throw new Error("The data is undefined")
}
相关文章:
- 如何在总值为的复选框上应用javascript
- 如何在asp.net上应用javascript按钮点击
- 如何在重定向到asp.net中单击按钮的下一页之前应用javascript警报
- 在prestashop的产品页面上没有完全应用Javascript
- 我们是否有任何通用脚本/ jquery插件可以在通过ajax选项卡加载的内容上应用javascript
- 仅对移动设备或桌面应用javascript
- 在Html中应用javaScript时出现问题
- 不透明不应用 JavaScript 画布
- 在 Ant 属性上应用 JavaScript “split” 的未定义元素
- 如何在页面中应用 JavaScript replace() 方法 2 时间
- 应用 javascript 来检查文件大小和扩展名
- 在 typo3 生成的表单上应用 JavaScript 函数
- 使用 java 更新 html 文件内容并应用 javascript
- 在应用JavaScript之前显示空白网站
- 使用script标记应用javascript
- 应用JavaScript className更改和style.display='块'同时不起作用
- 为两个不同的php页面应用javascript代码
- 对所有带有id的元素应用JavaScript
- 未能选择
- 如何在我的Facebook页面上应用JavaScript方法?