テキストボックスの値を投稿しようとしていますが、同じ値を「あなたが言った...」セクションのページに投稿しています。
私のTypeScript/JavaScriptは次のとおりです。
declare var document;
declare var xmlhttp;
window.onload = () => {
start();
};
function sayHello(msg: any) {
// Post to server.
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
// All right - data is stored in xhr.responseText
alert("done" + " " + xmlhttp.responseText);
}
else {
// Server responded with a status code.
alert("error");
}
}
}
xmlhttp.open("POST", "Default.cshtml");
xmlhttp.send("someValue=" + msg);
return msg;
}
function start() {
// Add event Listeners for user interaction
var element = document.getElementById("link");
element.addEventListener("click", function () {
var tb = (<HTMLInputElement>document.getElementById("tbox"));
var element = document.getElementById("response")
.innerText = sayHello(tb.value);
}, false);
// Setup XMLHttpRequests (AJAX)
if (XMLHttpRequest) {
// Somewhat cross-browser
xmlhttp = new XMLHttpRequest();
}
else {
// Legacy IE
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
そして、HTMLは次のとおりです(このページはDefault.cshtmlです):
@{
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Home Page";
var msg = Request["someValue"];
}
<h1>TypeScript HTML App</h1>
<div id="content">
<a href="javascript:;" id="link">Say Hello</a>:
<br />
<input type="text" value="dfgdfgdfg" id="tbox" />
<br />
<p id="response">awaiting a response.</p>
<br />
<p>You said:<br />
@msg</p>
</div>
そして、私はすべての参照を適切に含めました:
<script src="~/App.js"></script>
返される応答コードは200です。
私はここで何か間違ったことをしていますか?私は多くのチュートリアルやドキュメントなどをフォローしてきましたが、何が間違っているのかわかりません。それは実質的に同じに見えます。