我有這樣的代碼:變量 「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腳本的一部分。我測試了它,並且Works很棒。 要求....... $ objectProduct = new product_Model(); $ option = $ objectProduct-> existProduct($ codProduct); //返回1或0 echo $ option; – Gregory
//在Javascript方面 ajax.onreadystatechange = function() if(ajax.readyState == 4 && ajax.status == 200){0}回調(ajax.responseText); } }; 我測試了它,工作正常。要觀看PHP結果,我使用了Firefox的控制檯。它返回了正確的值。問題出在Javascript方面。 – Gregory