javascript-从服务器检索JSON.parse()字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-从服务器检索JSON.parse()字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3694字,纯文字阅读大概需要6分钟。
内容图文
![javascript-从服务器检索JSON.parse()字符串](/upload/InfoBanner/zyjiaocheng/662/6c7c437075ba49b5aa71ca2bebff30c3.jpg)
首先,我将学习如何在jquery / javascript中进行编程,并使用JSON.parse()遇到问题.我了解格式,以及人们为什么使用它…但是无法在我的任何代码项目中使用它.
我已经在这里读过关于如何使用它的书籍/在线文章,但是我想我读了太多.我现在很困惑,第二次猜测我对此有什么了解.
如此说来,我正在使用的jquery / javascript类要求我通过AJAX(使用MAMP / localhost作为服务器)将其用于作业.
以下两个代码用于我需要填写// TODO信息的部分.一个是javascript(客户端),另一个是php(服务器端).我认为我已经正确设置了其他// TODO信息,但是我不断收到JSON部分的令牌错误.
我在这里寻找解决方案,但我仍然感到非常困惑,需要帮助.感谢任何反馈,见解或信息.
var calculateMpg = function () {
// These lines are commented out since the server will perform these checks
// if (!checkNumber("miles") || !checkNumber("gallons")) {
// return;
// }
var miles = $("#miles").val();
var gallons = $("#gallons").val();
console.log("ajax request issued.");
var result;
$.ajax({
url: "service.php?action=calculateMPG&miles="+miles+"&gallons="+gallons,
cache: false,
dataType: "text",
success: function(msg) {
console.log("ajax response received.");
// TODO: parse the JSON string returned from the server (see JSON.parse())
JSON.parse("result");
if (result.status === 'success') {
// TODO: get the mpg value returned from the server and display it to the user.
$("#mpg").val($_GET("result"));
console.log("JSON Working!");
}
else {
// TODO: get the name of the variable with the error. Hint: look at the 'fail' result from service.php
$_GET[fail(id)];
// TODO: report the error to the user using invalidNumber() function.
alert("{status: 'failure', variable: <variable name>}");
}
}
});
};
$(document).ready( function () {
$("#miles").blur(function () {
checkNumber("miles");
});
$("#gallons").blur(function() {
checkNumber("gallons");
});
$("#calculate").click(calculateMpg);
$("#miles").focus();
});
-PHP-
<?php
if ($_GET) {
if ($_GET['action'] == 'calculateMPG') {
$miles = htmlspecialchars($_GET['miles']);
$gallons = htmlspecialchars($_GET['gallons']);
// validate miles
if (strlen($miles) == 0) {
fail("miles");
}
$miles_chars = str_split($miles);
for ($i=0; $i< count($miles_chars); $i++) {
if ($miles_chars[$i] < "0" || $miles_chars[$i] > "9") {
//error_log("miles_chars check failed at: " + $i);
fail("miles");
}
}
// validate gallons
if (strlen($gallons) == 0) {
fail("gallons");
}
$gallons_chars = str_split($gallons);
for ($i=0; $i< count($gallons_chars); $i++) {
if ($gallons_chars[$i] < "0" || $gallons_chars[$i] > "9") {
fail("gallons");
}
}
// validate $miles and $gallons calling $fail along the way
$result = $miles/$gallons;
if ($result) {
success($result);
} else {
fail("mpg");
}
exit ;
}
}
function fail($variable) {
die(json_encode(array('status' => 'fail', 'variable' => $variable)));
}
function success($message) {
die(json_encode(array('status' => 'success', 'message' => $message)));
}
编辑附加1
我已经根据“ var result”对JSON信息进行了更改(由于这里有多个响应).我开始更好地了解JSON.
我现在遇到的另一个问题是如何将JSON消息的一部分与整个正在传输的消息分开?
返回的一部分“ JSON.parse(msg)”包含方程式Miles / gallons的答案,但我不知道如何从JSON中提取它.
方程英里/加仑的解决方案出现在“ msg”输出中.
谢谢.
编辑附加2
这个问题已经解决了!在我上一编辑的部分中仔细研究stackoverflow来解决问题时,我在这里找到了答案:JSON response parsing in Javascript to get key/value pair.
答案是这样的:在// mpo值的// TODO部分下,我输入了以下代码-$(“#mpg”).val(result.message); -表示在变量结果的JSON部分中,使用JSON标记为“ message”的部分,该值是方程式解决方案.
感谢所有对我的问题提出解决方案的人.我感谢快速的响应,出色的建议以及了解JSON的信息.
-ECP03
解决方法:
JSON.parse()要求您发送一个有效的JSON字符串.
“结果”不是有效的JSON字符串.在成功函数中,您定义了一个参数msg-它包含什么?在成功功能的开始处尝试console.log(msg)并查看控制台输出.
内容总结
以上是互联网集市为您收集整理的javascript-从服务器检索JSON.parse()字符串全部内容,希望文章能够帮你解决javascript-从服务器检索JSON.parse()字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。