【问题标题】:Return and print value passed through php script from javascript object using jquery ajax使用 jquery ajax 从 javascript 对象返回并打印通过 php 脚本传递的值
【发布时间】:2014-03-10 12:57:58
【问题描述】:

我有以下代码: Javascript 对象:

 var getDBresults = (function () {  
    function getResult(url,TableName ,callback){
        $.ajax({
            url: url,
            type: 'POST',
            data: {
                'table':TableName,
            },
            dataType: 'json',
            success: function(data){
                callback(data);
                console.log(data)

            },
            error: function(){}
        });
    }   
    return {
        getAllVideoes: function(){
            getResult("getAllResults.php", "videoer", function(data){
                return data;
            });
        }
    }

})();

简单的 php 脚本:

<?php

    $tableName = $_REQUEST['table'];

    echo $tableName;
?>

我的 js 获取命令(单独的脚本 ofc):

    var obj = getDBresults;
    var data = obj.getAllVideoes();
console.log(data)

我的问题是回调函数。它不会输出任何东西,而且它似乎根本没有运行..这个问题已经有很长一段时间了,我只是想不通..我有什么遗漏的吗?所有的帮助都是有价值的!对不起我的拼写顺便说一句。

【问题讨论】:

  • 在 JS 方面,您是否尝试过使用调试器(firebug 等)来确保触发回调?另外,我会在您的错误回调中添加一条日志记录语句。我不确定你的 PHP,它对我来说看起来不正确,但我会让更了解 PHP 的人对此发表评论:)
  • “它似乎根本没有运行” – 不要假设什么“似乎”正在发生,或者,不是– 验证它。您的浏览器内置了许多开发人员工具来调试此类内容,因此请熟悉如何使用它们。
  • 是的,我正在使用 firebug 并且回调没有运行。这就是为什么我认为这可能是一个语法问题。谢谢回复

标签: javascript php jquery ajax object


【解决方案1】:

你期待 ajax

`dataType: 'json',`

你的 php 脚本的 json 输出

您正在返回 html/纯文本数据

`echo $tableName;`

试试json_encode

echo json_encode(array($tableName)); 

结果不是JSON格式,所以当jQuery解析失败时,

你可以用ajax的error:回调函数来捕捉错误

【讨论】:

  • 顺便说一句,你知道如何获取传递给我的其他 js 脚本的值吗?var obj = getDBresults; var 数据 = obj.getAllVideoes(); console.log(data) 仍然导致 undefined
  • 请创建一个新问题并发布您的代码以便检查。
猜你喜欢
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 2013-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多