【发布时间】:2016-12-11 13:48:35
【问题描述】:
我有这个代码:
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。这是(不是全部)PHP 脚本的一部分。我对其进行了测试,效果很棒。需要....... $objectProduct = new product_Model(); $option = $objectProduct->existProduct($codProduct); // 返回 1 或 0 echo $option;
-
//在Javascript端 ajax.onreadystatechange = function() { if(ajax.readyState == 4 && ajax.status == 200) { callback(ajax.responseText); } };我对其进行了测试并且工作正常。为了查看 PHP 结果,我使用了 Firefox 控制台。它返回了正确的值。问题出在 Javascript 方面。
标签: javascript php callback undefined asynccallback