내 서버 연결에 CocoaHTTPServer
을 사용하고 있습니다. 내 HTML 페이지 (웹 클라이언트)에는 일부 JSON 데이터가 있지만 응답을받을 때 헤더 파일에 JSON 데이터가 표시되지 않습니다.JSON 데이터가 응답하지 않습니다. iOS의 헤더
HTML 페이지 : :이 헤더를 추가하고
endAPSession: function (success, fail) {
this.endApSessionIssued = true;
console.log('endAPSession.');
this.proxyAjax({
url: 'http://192.168.123.1/stw-cgi-rest/network/wifi/connect',
username: this.username,
password: this.password,
method: 'PUT',
data: JSON.stringify(data),
contentType: 'application/json'
})
.done(function (data, textStatus, jqXHR) {
device.endApSessionIssued = false;
console.log("endAPSession success:", arguments);
return success(jqXHR);
})
.fail(function (jqXHR, textStatus, errorThrown) {
device.endApSessionIssued = false;
console.log("endAPSession fail:", jqXHR);
return fail(jqXHR);
})
},
var data = {
SSID: network.name,
Password: password,
SecurityMode: network.security
};
: 아래
내 코드입니다 Accept = "*/*";
"Accept-Encoding" = "gzip, deflate";
"Accept-Language" = "en-us";
Authorization = "Digest username=\"admin\",realm=\"iPolis\",nonce=\"2f65566a6c6239a1358732f8bfe08909\",uri=\"/stw-cgi-rest/network/wifi/connect\",qop=auth,nc=00000001,cnonce=\"7007d989\",response=\"dae876901c002f20b3baa100580a1634\"";
Connection = "keep-alive";
"Content-Length" = 63;
"Content-Type" = "application/json";
Host = "127.0.0.1:8090";
Origin = "http://localhost:8090";
Referer = "http://localhost:8090/";
"User-Agent" = "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69";
password = "";
username = admin;
"x-forwarded-url" = "http://192.168.123.1/stw-cgi-rest/network/wifi/connect";
: 나는 응답 아래 얻고있다
-(void) addHeaders:(HTTPMessage *)response {
[response setHeaderField:@"Access-Control-Allow-Origin" value:@"*"];
[response setHeaderField:@"Access-Control-Allow-Headers" value:@"accept,x-forwarded-url, authorization, content-type,username,password, camera-data"];
[response setHeaderField:@"Access-Control-Allow-Methods" value:@"HEAD,GET,PUT,DELETE,OPTIONS,POST"];
[response setHeaderField:@"Access-Control-Max-Age" value:@"86400"];
[response setHeaderField:@"Access-Control-Expose-Headers" value:@"content-type, content-length, connection, date, server, x-www-authenticate"];
}
여기 JSON 응답이 없습니다. 여기서 Content-Length
이 올 것입니다. 데이터가 있음을 의미합니다. 그러나 그것은 오지 않는다.
JSON은 다음과 같이해야합니다 :
"camera-data" = "{\"SSID\":\"HomeNetwork\",\"Password\":\"1234567\",\"SecurityMode\":\"PSK\"}";
나는 위의 JSON 내 응답오고있다,하지만 난 내 HTML 페이지를 변경하지 않으 내 HTML 페이지에 코드 아래에 추가하고있는 경우.
if(proxyOpts.data != null) {
proxyOpts.headers['camera-data'] = proxyOpts.data;
}
그렇다면 안내 메시지를 보내주세요. 어떻게 응답 헤더에서 JSON을 얻을 수 있습니까? 내 응답에 camera-data
을 얻으려면 어떻게해야합니까?
당신은 응답 헤더를 추가하는 코드를 표시했습니다,하지만 당신은 문제가 말하는 그 응답 _body_ 누락. JSON 데이터를 응답에 쓰는 데 사용하는 Objective-C 코드는 어디에 있습니까? 또한,'done' 핸들러는 반환 된'data'를 가지고 아무것도하지 않습니다. – aroth
응답에 JSON 데이터를 작성하면 CocoaHTTPServer 클래스가 처리합니다. –
데이터가 헤더 또는 내부 헤더 외부로 어떻게 전달되는지 알고 싶습니다. 나중에 헤더를 추가해야합니까? –