javascript - 无法解析 PhoneGap 应用程序的 JSON

标签 javascript php json ajax cordova

我一直在尝试解析由 localStorage 变量动态生成的 PhoneGap 应用程序的 JSON。 php 正在完成它的工作,但 javascript 没有解析数据并显示。

我的 PHP:

header("Access-Control-Allow-Origin: *");
header('Content-Type: application/json; charset=utf-8');

include("conn.php");

// Get User ID
$email = $_GET['email'];
$useridinit="SELECT userid FROM users WHERE email='".$email."'";
$useridgrab=mysql_query($useridinit) or die(mysql_error());
$useridq = mysql_fetch_array($useridgrab);
$userid = $useridq['userid'];

$data = array();
$q = mysql_query("SELECT * 
FROM Msg_Trans
LEFT JOIN Msg_Master ON Msg_Trans.msgid=Msg_Master.msgid
LEFT JOIN users ON Msg_Master.fromid=users.userid
WHERE Msg_Trans.toid='".$userid."' ORDER BY Msg_Trans.status DESC");

while ($row=mysql_fetch_object($q)){
    $data[]=$row;
}
echo json_encode($data);

我的JS:

var email = localStorage.getItem('email');
  var url = "http://anglertrack.pixeloft.com/mobile/conn/messages.php?callback=?&email="+email; 

  $.getJSON(url,function(result){

    $.each(result, function(i, field){
      var date=field.posted_date;
      var from=field.fromid;
      var subject=field.msgsub;
      $("#messageList").append("<li><a class='messageLink' href='message.html?date="+date+"&from="+from+"&subject="+subject+"'><span class='message'>from:"+from+"</span><h2>"+ date + " </h2><p>"+ subject +"</p></a></li>");

    });



  }); 

我的 HTML:

<ul id="messageList">

        </ul>

最佳答案

在 URL 中定义回调名称 (callback=?),这在使用 jQuery 时是不必要的。尝试使用下面的代码。

var url = "http://anglertrack.pixeloft.com/mobile/conn/messages.php?email=heath@pixeloft.com";

$.getJSON(url, function(result) {
  $.each(result, function(i, field) {
    var date = field.posted_date;
    var from = field.fromid;
    var subject = field.msgsub;
    $("#messageList").append("<li><a class='messageLink' href='message.html?date=" + date + "&from=" + from + "&subject=" + subject + "'><span class='message'>from:" + from + "</span><h2>" + date + " </h2><p>" + subject + "</p></a></li>");
  });
});
<ul id="messageList"></ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 无法解析 PhoneGap 应用程序的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37766210/

相关文章:

javascript - Momentjs : How to prevent "Invalid date"?

javascript - 正则表达式法国电话号码

php - 如何用PHP解析CSV文件并插入到MySQL数据库中?

c# - 自定义 JSON 序列化/反序列化以多种可能的格式读取属性

java - 更改 javax.json.JsonArray 中 json 元素的值

javascript - 触发多层元素的悬停行为

javascript - 保持node.js列表的顺序

php - 特定搜索查询出错

php - 使用哪种转义将正则表达式插入数据库并原封不动地返回?

ios - Swift:通过 HTTP 发送大量数字 ([Double]) 的最佳方式