2016-06-24 1 views
0

나는 통제 할 수없는 URL에 json 데이터를 게시하려고합니다. API 문서에는 json 데이터 만 허용됩니다. 나는 HTML 폼을 사용하여 쉽게 만들 수 있을지 생각하고있다.양식을 사용하여 json 문자열 만 ("name ="없이) 게시 할 수 있습니까?

"양식을 사용하여 json 데이터 게시"와 관련하여 많은 게시물이 있지만 그 중 아무 것도 내 상황을 적용하지 않습니다. 문제는, 내가 아는 한 폼을 사용하여 데이터를 게시 할 때 게시물은 항상 "name = value"이지만, API는 "value"만 원합니다. 말하자면, 비록 내가 할 수있는 JSON.stringifyinput JSON 문자열에 값을, 나는 여전히 "이름", API를 원하지 않는 게시해야합니다. 그래서 이것은 내 질문입니다, 실제로 양식을 사용하여 값을 게시 할 수 있습니까?

업데이트 : 그것은 API 말한다 무엇 API document

나에게 매우 모호합니다. 주요 정보는 다음과 같습니다. 1) 인터페이스를 호출 할 때 HTTPS 프로토콜과 JSON 데이터 패키지를 사용할 때 데이터 패키지를 암호화 할 필요가 없습니다.

2) HTTPS 요청 방법 : access_token이 들어 POST https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

는 좀 비밀번호를 사용하여 얻을 필요하며 2 시간에 만료됩니다. 메시지가 성공적으로 보낸 경우

3), 그것은 반환

{ 
    "errcode": 0, 
    "errmsg": "ok", 
    "invaliduser": "UserID1", 
    "invalidparty":"PartyID1", 
    "invalidtag":"TagID1" 
} 
+0

Json은 키 쌍입니다. 찾고있는 것은 일반 텍스트입니다. –

+0

양식의 enctype에 "text/plain"을 사용해야합니까? – shenkwen

+0

json 문자열을 문자열로 게시 할 수 있습니다. post는 게시물 본문에서 key = value 쌍을 필요로하지 않습니다. 그러나 서버에서 PHP와 같은 것을 사용한다면 key = value를 사용해야합니다. 왜냐하면 $ _POST에 값을 채우는 데 키가 필요하기 때문입니다. 입력에서 직접 원시 값을 직접 읽을 수 있습니다 (예 : '$ data = file_get_contents ('php : // input');'. html 폼 자체는 이름이없는 값을 제출하지 않으므로 이름이없는 게시물을 작성하려면 javascript가 필요합니다. –

답변

1

제 작품은 JSON formatted data to be directly generated from a form이 중단되었습니다 수 있도록.

당신이 중 하나를 사용해야합니다 요청을 만들려면 :

  • XMLHttpRequest 프록시에
  • XMLHttpRequest의 (A preflight에 대한 지원을 포함 permission는, API에서 부여해야합니다)를 API로를
  • 서버 이들 중 하나가 일을 생성하기 위해 사용하기 전에 데이터를 수집하는 HTML 양식을 사용할 수

측 코드 e 요청을 제 3 자 API에 전달합니다.

+0

그래도 약간의 설명이 필요합니다. 데이터를 보낼 때 $ .ajax를 사용하면 도메인 간 문제로 인해 URL이 반환되는 것을 볼 수는 없지만 URL에 내 게시물 데이터가 표시됩니다. 그렇습니까? – shenkwen

+1

브라우저의 개발자 도구에서 네트워크 탭을 사용하여 전체 요청을 볼 수 있습니다.JSON으로 포맷 된 데이터를 전송할 것이므로 일반 HTML 형식으로 생성 할 수없는 콘텐츠 유형으로 설정해야합니다. 그러면 프리 플라이트 OPTIONS 요청에 대한 권한 요청이 트리거됩니다. 서비스가 CORS를 사용하여 권한을 부여하지 않으므로 거부되므로 POST 요청이 전송되지 않습니다. – Quentin