null ref fixed

This commit is contained in:
Vladimir Enchev
2016-03-11 15:23:46 +02:00
parent 2c8d57deaf
commit 391f014232
2 changed files with 23 additions and 7 deletions

View File

@@ -110,6 +110,17 @@ export var test_XMLHttpRequest_headersSentAndReceivedProperly = function (done)
// </snippet>
};
export var test_XMLHttpRequest_setResponseTypeShouldNotThrow = function (done) {
try {
var xhr = new XMLHttpRequest();
(<any>xhr)._setResponseType();
done(null);
}
catch (err) {
done(err);
}
};
export var test_XMLHttpRequest_contentSentAndReceivedProperly = function (done) {
// <snippet module="xhr" title="xhr">
// ### Send/receive JSON

View File

@@ -116,13 +116,18 @@ export class XMLHttpRequest {
}
private _setResponseType() {
const contentType = this.getResponseHeader('Content-Type').toLowerCase();
const header = this.getResponseHeader('Content-Type');
const contentType = header && header.toLowerCase();
if (contentType) {
if (contentType.indexOf('application/json') >= 0) {
this.responseType = XMLHttpRequestResponseType.json;
} else if (contentType.indexOf('text/plain') >= 0) {
this.responseType = XMLHttpRequestResponseType.text;
}
} else {
this.responseType = XMLHttpRequestResponseType.text;
}
}
private _listeners: Map<string, Array<Function>> = new Map<string, Array<Function>>();
@@ -309,8 +314,8 @@ export class FormData {
toString(): string {
var arr = new Array<string>();
this._data.forEach(function (value, name, map) {
arr.push(`${encodeURIComponent(name) }=${encodeURIComponent(value) }`);
this._data.forEach(function(value, name, map) {
arr.push(`${encodeURIComponent(name)}=${encodeURIComponent(value)}`);
});
return arr.join("&");