2
다트로 웹 응용 프로그램을 만들고 싶습니다. 내가 로컬 글래스 피쉬 서버 다트 파일은 다음과 같습니다다트 내장 웹 서버 포트 변경
에서 실행되는 서블릿, 연결하려는 내 다트 파일에서
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dart</title>
<link rel="stylesheet" href="dart.css">
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="application/dart" src="dart.dart"></script>
<script src="packages/browser/dart.js"></script>
</head>
<body>
<h1>Dart</h1>
<p>Hello world from Dart!</p>
<div id="sample_container_id">
<table id="table">
<tr>
<td>Benutzername:</td>
<td><input type="text" id="inputuser" maxlength="40"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" id="inputpass" maxlength="40"></td>
</tr>
<tr>
<td><button id="button"></button></td>
</tr>
</table>
</div>
</body>
</html>
: 모든 첫 번째는 HTML이
import 'dart:html';
final TableElement table = querySelector('#table');
final DivElement main_div = querySelector('#sample_container_id');
void main() {
TextInputElement user = querySelector('#inputuser');
PasswordInputElement password = querySelector('#inputpass');
ButtonElement button = querySelector('#button');
button.text = 'Send';
button.onClick.listen((e) => checkUser(user, password));
}
void checkUser(TextInputElement user, PasswordInputElement password)
{
var url = 'http://localhost:8080/dartTestServlet';
HttpRequest request = new HttpRequest();
request.open("POST", url);
request.onLoadEnd.listen((e) => onUserChecked(request.response.toString()));
String jsonData = '{"user":"' + user.value + '", "password":"' + password.value + '"}';
request.send(jsonData);
}
다트 내가이 오류 메시지가있어 서버에 연결하는 경우 :
Failed to load resource: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:3030' is therefore not allowed access. http://localhost:8080/dartTestServlet
,691을
나는 그 문제가 동일한 기원 정책이라는 것을 알고 있지만, 그것을 고치는 방법을 모른다.
저는 서버용 eclipse 인스턴스와 클라이언트 용 Dart Editor 인스턴스를 사용하고 있습니다. 어떻게 다트 편집기에서 임베디드 웹 서버의 포트를 8080으로 변경할 수 있습니까?
그렇지 않으면이 문제를 해결해야합니까?
고맙습니다.
두 서버가 동일한 포트를 사용할 수 없으므로 문제가 해결되지 않습니다. GlassFish 서버를 통해 다트 페이지를 제공하거나 CORS를 사용해야합니다. – MarioP
Thx. 글래스 피시를 통해 페이지를 제공했습니다. 이것은 CORS "문제"를 해결했습니다. – sylo