김재복 7월 14일에 포스트됨 공유하기 7월 14일에 포스트됨 Web Application개발중 CORS error가 발생하여 문의드립니다. C++Builder로 아래의 프로젝트를 생성했습니다. 이후 Platform은 Windows를 선택하고, WebBroker Project Type은 "Stand-alone GUI application", ApplicationType은 VCL application을 선택했습니다. 8080 port체크하고 project생성. //--------------------------------------------------------------------------- #include "WebModuleUnit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TComponentClass WebModuleClass = __classid(TWebModule1); //--------------------------------------------------------------------------- __fastcall TWebModule1::TWebModule1(TComponent* Owner) : TWebModule(Owner) { } //--------------------------------------------------------------------------- void __fastcall TWebModule1::WebModule1DefaultHandlerAction(TObject *Sender, TWebRequest *Request, TWebResponse *Response, bool &Handled) { Response->Content = "<html>" "<head><title>Web Server Application</title></head>" "<body>Web Server Application</body>" "</html> } //--------------------------------------------------------------------------- void __fastcall TWebModule1::WebModule1sumActAction(TObject *Sender, TWebRequest *Request, TWebResponse *Response, bool &Handled) { if(Request->QueryFields->Count != 2) Response->Content= "Fail!"; else Response->Content = Request->QueryFields->Values["a"].ToDouble() + Request->QueryFields->Values["b"].ToDouble(); } //--------------------------------------------------------------------------- Action은 "sumAct" 한개를 추가해서 a값과 b값을 더한값을 돌려주는 API입니다. 그리고 sencha ext js 내용은 아래와 같습니다. C++Builder 로 만든 API는 8080 port를 사용하고 sencha extjs는 1841 port를 사용합니다. Click 버튼을 실행하면 우측과 같은 에러가 발생합니다. c++ 에서 어떤코드를 추가해야하는지요? Project1.zip 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 7월 14일에 포스트됨 공유하기 7월 14일에 포스트됨 sencha 스크립트를 호출하기 전에 웹브라우저에서 URL 로 GET 을 호출하여 웹브로커가 정상적으로 작동 되는지 먼전 확인을 해보세요. 서버가 잘 작동이 되면 웹브로커는 이상이 없는 것이니 sencha 스크립트가 문제 있는 것이겠죠. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 김재복 7월 14일에 포스트됨 Author 공유하기 7월 14일에 포스트됨 회신 감사합니다. 우선 웹브로커는 아래 화면처럼 정상동작합니다. 여러 자료를 보니 CORS 에러는 서버단에서 처리해줘야 한다는 내용이 많이 있습니다. 일단 sencha 스크립트를 더 확인해보겠습니다. 그리고 혹시 c++builder에서 처리해야 할 부분이 있다면 도움 부탁드립니다. 감사합니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
김재복
Web Application개발중 CORS error가 발생하여 문의드립니다.
C++Builder로 아래의 프로젝트를 생성했습니다.
이후 Platform은 Windows를 선택하고, WebBroker Project Type은 "Stand-alone GUI application",
ApplicationType은 VCL application을 선택했습니다. 8080 port체크하고 project생성.
//---------------------------------------------------------------------------
#include "WebModuleUnit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TComponentClass WebModuleClass = __classid(TWebModule1);
//---------------------------------------------------------------------------
__fastcall TWebModule1::TWebModule1(TComponent* Owner)
: TWebModule(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1DefaultHandlerAction(TObject *Sender, TWebRequest *Request,
TWebResponse *Response, bool &Handled)
{
Response->Content =
"<html>"
"<head><title>Web Server Application</title></head>"
"<body>Web Server Application</body>"
"</html>
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1sumActAction(TObject *Sender, TWebRequest *Request,
TWebResponse *Response, bool &Handled)
{
if(Request->QueryFields->Count != 2)
Response->Content= "Fail!";
else
Response->Content = Request->QueryFields->Values["a"].ToDouble() + Request->QueryFields->Values["b"].ToDouble();
}
//---------------------------------------------------------------------------
Action은 "sumAct" 한개를 추가해서 a값과 b값을 더한값을 돌려주는 API입니다.
그리고 sencha ext js 내용은 아래와 같습니다.
C++Builder 로 만든 API는 8080 port를 사용하고
sencha extjs는 1841 port를 사용합니다.
Click 버튼을 실행하면 우측과 같은 에러가 발생합니다.
c++ 에서 어떤코드를 추가해야하는지요?
Project1.zip
이 댓글 링크
다른 사이트에 공유하기
2 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.