나는 새로운 gwt에서 방화범을 사용하는 것에 익숙하다. MY gwt 버전은 2.0.0입니다. 이클립스와 WAMP를 사용합니다. 내 IIS는 WAMP 아파치를 실행하지 않습니다. 그때 나는 GWT에서 보여하려고 나는 "http://localhost/phpmyadmin/tesdb3/datauser.php는" json 파서 빈 결과
{"item": [{"kode":"002","nama":"bambang gentolet"},
{"kode":"012","nama":"Algiz"}]}
내가
<inherits name='com.google.gwt.json.JSON'/>
<inherits name="com.google.gwt.http.HTTP" />
와 XML을 추가에있는 tesdb3.php에서 유효한 JSON 결과가 파이어 폭스
내 프로그램을 실행 이 코드와 함께.
public class Tesdb3 implements EntryPoint {
String url= "http://localhost/phpmyadmin/tesdb3/datauser.php";
public void LoadData() throws RequestException{
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
builder.sendRequest(null, new RequestCallback(){
@Override
public void onError(Request request, Throwable exception) {
Window.alert("error " + exception);
}
public void onResponseReceived(Request request,
Response response) {
if (200 == response.getStatusCode()) {
Window.alert("ok -" + response.getText() + "-" + response.getStatusCode());
} else {
Window.alert("error2 -" + response.getText()+ response.getStatusText() + "-" + response.getStatusCode());
}
}
});
}
public void onModuleLoad() {
try {
LoadData();
} catch (RequestException e) {
e.printStackTrace();
}
}
}
개발 모드로 실행합니다. 호스팅 모드가 아닙니다.
내 코드에서 오류를 나타내지 않았습니다. 그러나 창 경고의 결과는 "error2 - OK-0"입니다.
result Net from firebug is 7 request:
get Tesdb3.html?gwt.codeserv = 200ok
get Tesdb3.css = 200ok
get tesdb3.nocache.js = 200ok
get hosted.html?tesdb3 = aborted
get standard.css = 304 not modified
get hosted.html?tesdb3 = 403 not modified
get datauser.php = 200ok
내 질문은 :
응답 상태 코드가 0이고, 응답 상태 텍스트가 'OK'왜? json 또는 Java 코드에 오류가 없습니다.
왜 response.getText
이 비어 있습니까? json 결과를 단일 문자로도 얻을 수없는 이유는 무엇입니까?
도와주세요. 이미 2 개월 동안이 문제를 많은 소스 유형으로 해결하려고 시도했지만 단일 결과를 얻을 수 없습니다.
이 내 datauser.php
header('Content-type: application/json; charset=UTF-8');
header('Cache-Control: no-cache');
header('Pragma: no-cache');
$link = mysql_connect("localhost", "root", "")
or die("Could not connect : " . mysql_error());
mysql_select_db("tesku1") or die("Could not select database" . mysql_error());
$query = "select * from tabel1";
$result = mysql_query($query);
$jumlah_data = mysql_num_rows($result);
echo '[';
for ($i=0; $i<=count($result); $i++){
$row = mysql_fetch_array($result);
echo '{';
echo "\"kode\":\"$row[kode]\",";
echo "\"nama\":\"$row[nama]\"";
if ($i==count($result)){
echo '}';
}else
echo '},';
}
echo ']';
mysql_free_result($result);
프록시를 통해 요청을 실행하거나 방화 광을 사용하여 정확히 무엇이 응답인지 알려줄 수 있습니까? – tgdavies
JSON 출력의 올바른 헤더를 설정하고 있습니까? 'header ('Content-type : application/json; charset = UTF-8'); 그리고 다른 상태 유형은 어떻습니까? 마찬가지로 404 또는 500이 "통과"하거나 상태 코드 0이 발생합니까? –
@tdavies : 그는 이미 Firebug의 Net 탭에서 결과를 게시했습니다. –