go
2011-05-14 4 views 1 likes 
1

Go 프로그램 내에서 jQuery Ajax Post를 HTML 양식에서 성공적으로 처리 한 후에 새 양식을로드하려면 어떻게해야합니까? 먼저 응답을 폼으로 보내려고했는데 Javascript가 표시했지만 이전 (기존) 폼을 지우지 않았습니다. 그런 다음 HTML Javascript 내에서 "window.location = 'localhost : 8088/MaintForm /'"을 사용하여 URL을 설정하려고했습니다. 브라우저에서 경고가 발생했지만 양식을로드하지 않았고 URL을 변경하지 않았습니다. 이상적으로 두 가지 방법을 알고 싶습니다. 서버로 작동하는 Go 프로그램과 Javascript를 통해 말입니다. URL을 수동으로 변경하면 양식이 OK로로드됩니다. 내가하려는 일은 자바 스크립트 (jQuery Ajax)로 응답을 받고 응답이 긍정적이면 새로운 양식을 요청하는 것입니다. URL을 변경하지 않고이 작업을 수행하는 것이 좋습니다. 위에서 말했듯이 이것은 부분적으로 효과가있었습니다. 자바 스크립트에서Go - 새 html 양식을로드하는 방법

답변

0

는 :

location.href = '/MaintForm/'; 

golang에서,이 같은 http.Redirect 기능을 사용할 수 있습니다

http.Redirect(w, r, "/MaintForm/", http.StatusFound) 
+0

감사합니다. 이 API를 살펴 보겠습니다. 그러나 현재 페이지를 제공하는 Go 애플리케이션은 매우 단순하며 jQuery를 통해 Ajax GET에 대한 응답으로 페이지를 제공하는 것을 선호합니다. URL을 계속 변경하고 싶지는 않습니다. 적어도 URL을 변경하지 않는 것이 좋습니다. 현재 유일한 수입은 ("http", "os", "io/ioutil", "fmt", "time")입니다. – brianoh

+0

내가 처음에 필요한 것을 해결하는 해결책을 찾았습니다. $ .ajax POST 또는 GET에 대한 응답으로 Go에서 양식을 보낸 후 "document.write (data);를 수행하면됩니다." Javascript에서. 여전히 "window.location = 'localhost : 8088/MaintForm /'"이 작동하지 않는 이유를 아직 발견하지 못했습니다. 브라우저는 경고를 표시하지만 URL을 변경하지는 않습니다. 동일한 도메인이므로 경고를 발행하는 이유를 잘 모릅니다. – brianoh

+0

'window.location'는 Location 객체입니다. 리디렉션하려면'window.location.href'을 수정해야합니다. 해결책을 게시하여 문제를 해결 했으므로이를 받아 들여야합니다. – hyperslug

1

당신은 예 사업부를 들어, 태그 내부에 원래의 형태를 넣어야 할 것 , 그리고 귀하의 JQuery 코드를 사용하여 해당 태그의 내용을 새 양식으로 대체하십시오. 이렇게하면 URL을 변경하지 않습니다.

이것은 go-specific 것보다 Javascript/JQuery 질문에 더 가깝습니다.

0

참고 :이 문제는 다음과 같이 해결됩니다. "document.write (data);를 수행하면됩니다. Javascript에서. "데이터"는 새로운 HTML을 포함합니다.

+0

Javascript에서 "window.location.href"를 사용하려면 @ hyperslug의 설명을 추가해야합니다. 상업적 응용 프로그램에서 사용자가 URL을 통해 모든 곳을 탐색하기를 원하지 않기 때문에 어떤 방법을 사용할지, 아마도 HTML을 보내는 방법을 결정하지 못했습니다. 그냥 지금 테스트. – brianoh

관련 문제