使用AJAX从数据库获取JSON数据时遇到问题

时间:2014-12-08 08:00:50

标签: javascript jquery ajax json database

正如标题所暗示的那样,我很难用这些技术从我的数据库中检索数据。这是我目前的情况:

var username = $('#username').val();
var password = $('#password').val();

// For the sake of example this is a dummy IP
var url = 'http://55.55.55.55/dbfuncts.php?action=getuser&user=' + username;
// For debugging purposes I compare this object with the one I get with the ajax function
var obj1 = {
    "name" : "Dave"
};

var obj = $.ajax({
    url: url,
    type: 'POST',
    dataType: 'json'
});

我的JSON格式应该是这样的:

{"UserID":"User","Password":"User","Email":"User@questionmark.com","Fname":"Web","Lname":"User","isManager":"0"}

当我转到URL时,我能够在浏览器中看到这个JSON字符串。

目前在调试时,我发现我不断获取jqXHR对象而不是我想要的json对象。

如何从数据库中将信息检索为JSON?

2 个答案:

答案 0 :(得分:0)

我认为jQuery ajax调用不会像你那样直接返回结果(但我不确定)。

我曾经通过使用回调函数从ajax调用获得结果,如下所示。

$.ajax({
    url: url,
    type: 'POST',
    dataType: 'json',
    success: function(data) {
        // data argument is the result you want
        console.log(data);
    }
});

答案 1 :(得分:-1)

试试这个:

将提供json数据的url放在url列中。

    var jsonData = $.ajax({
     url: '*',
      dataType:"json",
      async: false
      }).responseText;

var parsed = JSON.parse(jsonData);

如果没有,请尝试:

      var jsonData1 = $.ajax({
      xhrFields: { withCredentials: true },
      type:'GET',
      url: '*',
      dataType:"json",
      crossDomain: true,
      async: false
      }).responseText;

  var parsed1 = JSON.parse(jsonData1);

尝试2:

好的,请尝试使用Spring MVC。从数据库中获取数据,并将其保存在URL中。如此链接所示。 Ckick Here然后使用上面的ajax调用来访问网址中的数据。