Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ajax #44

Merged
merged 13 commits into from Jan 28, 2020
Merged

feat: ajax #44

merged 13 commits into from Jan 28, 2020

Conversation

dotaitch
Copy link
Member

@dotaitch dotaitch commented Jan 21, 2020

Specs

instance options

option type
url string
contentType string
method 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD'
params object<string, any>
serializer params => string
headers object<string, string>
beforeRequest () => void
success responseWrapper => void
error errorWrapper => void
complete () => void
withCredentials boolean (IE10+)
mimeType string (IE11+)

default options

  • prefix: ajax.defaults.[option]
    • ex) ajax.defaults.headers.post['Content-Type'] = 'text/plain';
option type description
baseURL string baseURL
headers.common object<string, string> headers regardless of the type of request
headers.[method] object<string, string> headers for a certain request
serializer params => string Determine how to serialize parameters
beforeRequest () => void
success responseWrapper => void
error errorWrapper => void
complete () => void

request method aliases

  • ajax.get(url, options)
  • ajax.post(url, options)
  • ajax.put(url, options)
  • ajax.delete(url, options)
  • ajax.patch(url, options)
  • ajax.options(url, options)
  • ajax.head(url, options)

success response wrapper

property type description
status number
statusText string
data any received data from the response (If the type is JSON, it is converted to object.)
headers object<string, any> response headers

error and complete response wrapper

property type description
status number
statusText string

Promise

If the browser supports Promise, ajax() returns a Promise object.

TO-DO

  • implement ajax()
  • write jsdoc
  • babel settings

Notice

  • ajax/index.mjs: ES6 module
  • ajax/index.js: transpiled by Babel

ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
ajax/index.mjs Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
Copy link
Member

@jung-han jung-han left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 완료입니다!

test/ajax.spec.js Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
@js87zz
Copy link

js87zz commented Jan 22, 2020

아래 2가지 테스트 케이스도 추가되야겠네요

  1. 기본 serializer 로 인코딩 했을 경우 직렬화 및 인코딩
  2. content type 에 따라 requestBody의 데이터가 올바르게 직렬화되는지 테스트(json, serializer)

ajax/index.mjs Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
test/ajax.spec.js Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
ajax/index.js Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
ajax/index.js Outdated Show resolved Hide resolved
ajax/index.mjs Outdated Show resolved Hide resolved
Copy link
Member

@jung-han jung-han left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

특별한 이견 없습니다! 재성선임님이랑 선임전임님이 달아주신 리뷰 반영해주시면 마무리 될 것 같습니다.

@seonim-ryu
Copy link
Member

[1/23] 리뷰 완료합니다. 바벨 플러그인 사용하는 부분에서 확인할 사항이 있어서 차주에 다시 여쭤볼게요~ 고생하셨습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants