私はgetVenueFromFSの戻り値をRealTimeUpdate.phpページに送信しようとしましたが、成功しません。値は、警告メソッドを使用して正しく印刷されますが、私はそれを送信することはできません、プロジェクトが完了したら、ユニサーバーに置く必要があります、彼らはajaxや他のサードパーティーを持っていない。機能: `PHPコードの入力としてjavascriptの戻り値を使用
<script type="text/javascript">
<!--
function getVenueFromFS() {
var venueFSID = "4a1ef31ff964a520ef7b1fe3";
var xhttp = new XMLHttpRequest();
var url = 'https://api.foursquare.com/v2/venues/'+venueFSID+'?oauth_token=MOBUA5IQL5PJGHPMAEU22OQDWIJJWF425XO5JLOSFHGJOTAC&v=20161224';
xhttp.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200)
{
var obj = JSON.parse(xhttp.responseText);
alert("venue number: " + venueFSID + " was retrieved successfully");
alert("like count: " + obj['response']['venue']['likes']
return obj['response']['venue']['likes']['count'];
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
//-->
</script>`
but using //$.post('RealTimeUpdate.php', {variable: javascriptVariable});
or
//window.location.href = "RealTimeUpdate.php?name=" + javascriptVariable; wont work.
}
Soultion: 私は体の中のスクリプトを入れて、ない頭を、返された値を無効にし、それを取得します別の関数を書いた、とのsetTimeoutを使用し、おかげで皆
function myJavascriptFunction() {
var data = getVenueFromFS();
//alert("NEW" + data);
//$.post('RealTimeUpdate.php', {variable: data});
//window.location.href = "RealTimeUpdate.php?name=" + data;
var FSID = document.getElementById('FsId').value;
window.location.href = "RealTimeUpdate.php?name=" + data + "&FSID=" + FSID;
}
function getVenueFromFS() {
var obj
//var venueFSID = document.getElementById('FsId').value;
var venueFSID = "4a1ef31ff964a520ef7b1fe3";
var xhttp = new XMLHttpRequest();
var url = 'https://api.foursquare.com/v2/venues/'+venueFSID+'?oauth_token=MOBUA5IQL5PJGHPMAEU22OQDWIJJWF425XO5JLOSFHGJOTAC&v=20161224';
xhttp.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200)
{
obj = JSON.parse(xhttp.responseText);
alert("venue number: " + venueFSID + " was retrieved successfully");
alert("new like count: " + obj['response']['venue']['likes']['count']);
parameter = obj['response']['venue']['likes']['count'];
setTimeout(function(){ window.location.href = "RealTimeUpdate.php?name=" + parameter }, 6000);
// return obj['response']['venue']['likes']['count'];
}
};
xhttp.open("GET", url, false);
xhttp.send();`enter code here`
return obj['response']['venue']['likes']['count'];
}
の可能性のある重複(http://stackoverflow.com/questions/14220321/how- [どのように私は非同期呼び出しからの応答を返すのですか?] do-i-return-as-asynchronous-call) – CBroe
私は問題を理解していますが、私は質問でそれを説明しました。 iamはajaxを使用できません –
XMLHttpRequest _is_ AJAX。 – CBroe