0
このAjaxリクエストの結果、JavaScript hintArray
を記入したいと思います。つまり、hintArray
には$row
と同じ値が含まれています。これは簡単な方法で行うことができますか? PHPファイルの出力はどのように行うべきですか? hintArray = JSON.parse(this);
は正しいですか?PHP配列からJavaScript配列へのAjaxリクエスト
感謝
はJavaScript
var hintArray = new Array();
postAjaxRequestFunktion(minFunktion, 'getHint.php', 'id =1')
function minFunktion()
{
hintArray = JSON.parse(this);
}
function postAjaxRequestFunktion(minFunk,minUrl, mittArg)
{
var contenttype = 'application/x-www-form-urlencoded'
var minRequest = new skapaAjaxObjekt(minFunk)
if (!minRequest) return false
minRequest.open('POST', minUrl, true)
minRequest.setRequestHeader('Content-type', contenttype)
minRequest.setRequestHeader('Content-length', mittArg.length)
minRequest.setRequestHeader('Connection', 'close')
minRequest.send(mittArg)
return true
}
function skapaAjaxObjekt(minFunk)
{
try { var minRequest = new XMLHttpRequest() }
catch(e1) { try { minRequest = new ActiveXObject("Msxml2.XMLHTTP") }
catch(e2) { try { minRequest = new ActiveXObject("Microsoft.XMLHTTP") }
catch(e3) { minRequest = false }}}
if (minRequest) minRequest.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200 &&
this.responseText != null)
minFunk.call(this.responseText)
}
return minRequest
}
getHint.php
$result = mysql_query("SELECT hint01,hint02 FROM main WHERE id = '00000001'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
とJavaScriptでそれをデコードし、私は.phpのファイルにこれを追加しました: エコーjson_encode($行)。 これはJS: 関数です。minFunktion() { hintArray = eval( '(' + this + ')'); \t } しかし、動作しません。 JS配列は空です。私は間違って何をしていますか? I代わりにJSにこれを追加した場合: 関数minFunktion() これはヒント素子に書き込まれる{ のdocument.getElementById( 'ヒント')のinnerHTML =この 。}: [ "hintText1"、」hintText2" ] – Fred
に「this」の値がありますか? console.info(this)を使用します。またはconsole.info(this.responseText);あなたは何かを受けていますか? –
私は間違いを犯しましたが、それを修正して、あなたのソリューションは完全に機能します。この簡単な解決方法を教えてくれてありがとう! – Fred