Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript返回JSON不工作_Javascript_Ajax_Json - Fatal编程技术网

Javascript返回JSON不工作

Javascript返回JSON不工作,javascript,ajax,json,Javascript,Ajax,Json,我正在从我的php文件返回json,php文件工作正常,json得到正确响应,但是js中的问题 输出应该是{“name”:“somename”,“id”:“someid”,“l”:“something”,“sname”:“somename”,“desc”:“longdescriptionhere”} JAVASCRIPT function getClubData(id) { alert(id); $.ajax({ url: 'someurl',

我正在从我的php文件返回json,php文件工作正常,json得到正确响应,但是js中的问题

输出应该是{“name”:“somename”,“id”:“someid”,“l”:“something”,“sname”:“somename”,“desc”:“longdescriptionhere”}

JAVASCRIPT

function getClubData(id) {
    alert(id);
    $.ajax({
        url: 'someurl',
        crossDomain: true,
        type: 'post',
        data: id,
        success: function (data) {
            var json = jQuery.parseJSON(data);
            alert(data);
        },
    });
};
PHP


我确信php是正确的,因为它在页面上回响正确的信息,只是没有正确地传输回javascript…

编辑/更新

现在我知道发生了什么,你想要什么。。。 这是我更新后的答案

您需要给id一个键,以便在另一端,您的PHP脚本知道从何处通过$\u POST变量获取此id

所以你的剧本

function getClubData(id) {
alert(id);
$.ajax({
url: 'someurl',
crossDomain: true,
type: 'post',
data: {'theid':id},
success: function (data) {
var json = jQuery.parseJSON(data);
alert(data);


},
});

};
然后你的php脚本就会得到这个id

$id = $_POST['theid'];

$sql = "SELECT * from YOURTABLE WHERE ID = $id";
//and rest of your query and database stuff etc etc

如果你使用console.log(json)会发生什么?它说,[object,object,object,object,object,object,object]这是错误的对象,你看我有一个listview,它返回列表中每个项目的信息,而不是php文件中正确的json OK,所以你不能通过data.id访问它,data.name etcIm不确定我是否理解您的意思我的列表视图中有6个项目,每个项目都有一个data-club-id。。。因此,无论单击哪一个,它都会将该id发送到js函数。因此,需要提醒的是listview中每个项目的名称和id,而不是单击其中一项的5个字段。这是因为您只是将id传递到数据中,没有给它一个键或任何东西,php如何知道您选择的id号?就像您需要传递{theid:id}进入数据字段…知道我在说什么…它必须是一个object,因为当单击列表中的某个项目时,它会在另一个函数中获取id,然后将其传递给getData(id)函数。。。在函数中,当我发出警报(id)时,它会给我正确的idI get…但是您需要给id一个键值供php脚本处理…例如{yourkey:id}或php脚本在其$u POST['yourkey']项中查找的任何值
$id = $_POST['theid'];

$sql = "SELECT * from YOURTABLE WHERE ID = $id";
//and rest of your query and database stuff etc etc