我如何获得使用Ajax发送的Json数据?

时间:2014-09-16 11:11:31

标签: php extjs

我如何通过Ajax将我的Json数据发送到我的php文件?

我有以下测试对象:

var test = {"tlknummer":"abcdefghijklmnopqrstuvwxyz"};

并像这样发送:

Ext.Ajax.request({
    url: "app/view/main/saveInDatabase.php",
    method: 'POST',
    jsonData: test, 
    success: function( r ) {        
        console.log("Senden erfolgreich" + r.responseText);
    },
    failure: function( r ) {
        console.log("Senden fehlgeschlagen" + r.responseText);
    }
});

在php文件中我希望像这样访问它们:

$data = $_POST['tlknummer'];

但是他们总是说:未定义的索引:tlknummer

怎么了?我如何访问我发送的JsonObject?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您正在发送 Javascript对象。在这里,您需要转换JSON中的javascript对象

var test = JSON.stringify({"tlknummer":"abcdefghijklmnopqrstuvwxyz"});

并在 AJAX调用

中添加dataType : "json"
Ext.Ajax.request({
    url: "app/view/main/saveInDatabase.php",
    method: 'POST',
    jsonData: test, 
    dataType : "json",
    success: function( r ) {        
        console.log("Senden erfolgreich" + r.responseText);
    },
    failure: function( r ) {
        console.log("Senden fehlgeschlagen" + r.responseText);
    }
});

我想,它会起作用..

答案 1 :(得分:0)

如果您想以

的形式访问数据
$data = $_POST['tlknummer'];
然后你需要把它作为参数发送,即:

Ext.Ajax.request({
    url: "app/view/main/saveInDatabase.php",
    method: 'POST',
    params: test, 
    success: function( r ) {        
        console.log("Senden erfolgreich" + r.responseText);
    },
    failure: function( r ) {
        console.log("Senden fehlgeschlagen" + r.responseText);
    }
});