後に '未定義' の値を持っています変数 "encontradoは" 私はこのコードを持っているコールバック関数
はJavaScript:
function foo(callback){
var producto = $("#inpt-producto").val();
var ajax = new XMLHttpRequest();
var url = "file_products.php"; // It will return 1 or 0
var params = "producto=" + producto;
ajax.open("POST", url, true);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4 && ajax.status == 200) {
callback(ajax.responseText);
}
};
ajax.send(params);
}
PHP:
$objectProduct = new product_Model();
$option = $objectProduct->existProduct($codProduct); // return 1 or 0
echo $option
それは罰金作品私。しかし、次のコードは機能しませんでした。
var encontrado = foo(function(result){ // I need store it in "encontrado" variable.
console.log(result);//Actually return 1 or 0 value
});
console.log(encontrado); //Return Undefined :-(
ファイルfile_products.php
リターン1つのまたは0
変数encontrado
保管していなかったデータ。これは "未定義"に等しい。私はストアのPHP値のリターンが必要です。私は懸命に働いていますが、その解決策を見つけられませんでした。
私はそれを修正するために何ができますか?何か案が ?
ありがとうございました。この場合
一部のPHPコードを表示 – wscourge
こんにちは@wscourge。 これは(一部ではない)PHPスクリプトの一部です。私はそれをテストし、素晴らしい作品。 必要....... $ objectProduct = new product_Model(); $ option = $ objectProduct-> existProduct($ codProduct); // 1または0を返す echo $ option; – Gregory
// JavaScriptで側 ajax.onreadystatechange =関数(){ (ajax.readyStateの== 4 && ajax.statusの== 200){ コールバック(ajax.responseText)であれば、 } }; 私はそれをテストし、正常に動作します。私はFirefoxのコンソールを使用してPHPの結果を見るために。正しい値が返されました。問題はJavascript側です。 – Gregory