Kann mir jemand sagen, was mit meinem Code nicht stimmt? Ich denke, es ist ein Syntaxfehler, weil ich Javascript/JSON nicht sehr gut kenne. Momentan tut dieser Code nichts. Dies ist für Schulprojekt; Meine Klasse baut eine App auf, die Benutzer verbindet, indem sie eine Schnittstelle zur Verfügung stellt, um Aktivitäten basierend auf Freizeit-/Stundenplan zu buchen. Vielen Dank!Abrufen von Daten vom Web-Service mit JSON
<!DOCTYPE html>
<html>
<head>
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#submit").click(function(){
var url = "http://3920project.azurewebsites.net/api/activity/";
//var email = "?email=" + getUrlVars();
//var title = "?title=" + "girls";
var title = "?title=" + getTitle();
//alert(url + title);
$.getJSON(url + title)
// data: {title: $("#title").val()
.done(function(res) {
//alert("done");
$.each(res, function(key, item) {
var colID = $('<td>', {
text: item.category
});
var colName = $('<td>', {
text: item.day + item.to + item.from
});
$('<tr>').append(colID, colName).appendTo($('#tblResult:last'));
}); //end of each()
}); //end of done()
}); //end of click()
}); //end of ready()
function getTitle() {
return document.getElementById('title').value;
}
</script>
<style type="text/css">
body {
font-family: arial;
}
th,
td {
margin: 0;
text-align: center;
border-collapse: collapse;
outline: 1px solid #e3e3e3;
}
td {
padding: 5px 10px;
}
th {
background: #666;
color: white;
padding: 5px 10px;
}
td:hover {
cursor: pointer;
background: #666;
color: white;
}
</style>
<title>Activity Search</title>
</head>
<body>
<div class="app">
Please enter activity:
<br></br>
<input type="text" id="title">
<input type="submit" id="submit" value="Search" />
<br></br>
</div>
<div>
<h2>Activity TimeTable</h2>
<table id="tblResult">
<tr>
<th>Activity</th>
<th>Category</th>
</tr>
</table>
</div>
</body>
</html>
Haben Sie mit Chrome-Dev-Tool für js Fehler überprüft? – ItayB
Überprüfen Sie Ihre 'res'. Es ist eine Schnur. Verwende 'JSON.parse (res)', um ein Objekt zu erstellen. – Wainage
Meine Klassenkameradin hat eine ähnliche Aufgabe und sie hat JSON.parse (res) nicht benutzt und ihr funktioniert gut. Ich denke, mein Problem hat mit der .click-Funktion zu tun, weil es eines der wenigen Dinge ist, die anders als ihrs gemacht werden, da ihre Eingaben vom Benutzer nicht benötigt werden. – mikotochan