将json数据发布到PHP

时间:2014-04-01 08:57:23

标签: php jquery json

我们想将一个json对象发布到PHP,这就是我们目前所拥有的:

var sitePersonel = {};
var userData = [];

sitePersonel.userData = userData;
var userData = {
    "userId": username,
    "name": name,
    "artists": artistNames
};

sitePersonel.userData.push(userData);
console.log(sitePersonel);

var jsonpArray = JSON.stringify(sitePersonel);

function phpCallback() {
}

$.ajax({
    type: "POST",
    dataType: "jsonp",
    url: "http://student.cmd.hro.nl/0879644/spotify/data.php",
    data: { myData: jsonpArray },
    success: function (data) {
        alert('Items added');
    },
    jsonpCallback: phpCallback(),
    error: function (e) {
        console.log(e.message);
    }

我们在加载这个jQuery时遇到错误。我们已经尝试过调试,但遗憾的是,我们并没有走得太远。我们的控制台出现以下错误:

Resource interpreted as Script but transferred with MIME type text/html 我们确实登陆phpCallback();,但控制台给我们错误,PHP也无法正常工作。

我们希望将JSON对象发送到PHP以保存到数据库中。我们正在开发Spotify应用程序。

3 个答案:

答案 0 :(得分:0)

尝试将内容类型更改为text / javascript

JSONP request: "Resource interpreted as Script but transferred with MIME type text/html"

希望这能解决你的问题。

答案 1 :(得分:0)

简单示例,修改为您自己的情况(即从json到jsonp的dataType)

jQuery.ajax({
    url: url,
    type: "POST",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: data,
    success: callback
});

答案 2 :(得分:0)

在您的ajax中添加content-type

    contentType: "application/json",

默认情况下为'application/x-www-form-urlencoded; charset=UTF-8'