diff --git a/addon/adapters/rest.js b/addon/adapters/rest.js index 91d82a70d26..25eaafc8d8d 100644 --- a/addon/adapters/rest.js +++ b/addon/adapters/rest.js @@ -1361,7 +1361,7 @@ if (isEnabled('ds-improved-ajax')) { hash.context = this; if (request.data) { - if (request.type !== 'GET') { + if (request.method !== 'GET') { hash.contentType = 'application/json; charset=utf-8'; hash.data = JSON.stringify(request.data); } else { diff --git a/tests/integration/adapter/rest-adapter-test.js b/tests/integration/adapter/rest-adapter-test.js index c6732bccdc0..0343dd98662 100644 --- a/tests/integration/adapter/rest-adapter-test.js +++ b/tests/integration/adapter/rest-adapter-test.js @@ -2635,4 +2635,25 @@ if (isEnabled('ds-improved-ajax')) { }); }, /RESTAdapter#ajaxOptions has been deprecated/) }); + + test("_requestToJQueryAjaxHash works correctly for GET requests - GH-4445", function(assert) { + let done = assert.async(); + let server = new Pretender(); + + server.get('/posts/1', function(request) { + assert.equal(request.url, "/posts/1", "no query param is added to the GET request"); + + return [201, { "Content-Type": "application/json" }, JSON.stringify({ post: { id: 1 } })]; + }); + + run(function() { + let post = store.findRecord('post', 1); + + post.then(function() { + server.shutdown(); + done(); + }); + }); + }); + }