私はajax要求を持っているjavascript関数を呼び出そうとしていますが、関数外のコードを置くとresponseTextが存在しないため動作しません魅力のように働く。誰かがどのように機能するのか説明してください。ajaxが関数内で呼び出すときに正しく機能しない
//This is here work properly.
console.log("addPostmanUser");
var data = JSON.stringify({
"email": "[email protected]",
"password": "12345",
"username": "holahola",
"name": "holahola",
"surname": "toledo",
"birthDate": 687045600000,
"enabled": true,
"authorities": [],
"groups": [],
"character": null,
"locale": null,
"registrationToken": null,
"facebookId": null,
"pushToken": null,
"termsDate": null
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function(e) {
if (xhr.readyState === 4) {
console.log("addPostmanUser response: ");
console.log(xhr);
}
});
xhr.open("POST", "http://IP/user", true);
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
//this one doesn't work
function inSameFile() {
console.log("addPostmanUser");
var data = JSON.stringify({
"email": "[email protected]",
"password": "12345",
"username": "holahola",
"name": "holahola",
"surname": "toledo",
"birthDate": 687045600000,
"enabled": true,
"authorities": [],
"groups": [],
"character": null,
"locale": null,
"registrationToken": null,
"facebookId": null,
"pushToken": null,
"termsDate": null
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function(e) {
if (xhr.readyState === 4) {
console.log("addPostmanUser response: ");
console.log(xhr);
}
});
xhr.open("POST", "http://IP/user", true);
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
}
<link rel="stylesheet" href="https//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<form>
<div>
<a class="enter" href="" onClick="inSameFile();" id="btn_register">Registrarme</a>
<br>
<a class="enter" href="" id="btn_cancel">Cancelar</a>
<br>
</div>
<div></div>
</form>
"responseTextはありません" - 発生している動作をより詳しく説明してください。 2つの 'console.log'ステートメントによって何かが出力されますか? 2つの要求の[開発者ツールネットワーク]タブで異なるデータが表示されていますか? (例えば、1つが中止されました) – Quentin