我在下面的我的jquery脚本时遇到问题,这是一个基本的精简版本,甚至无法正常工作,我有jquery脚本调用的php文件,我将其设置为编码并显示json响应
然后,在jquery脚本中,它应该读取该值并对其进行响应,但未获得响应。
json.response是在json字符串中调用名称响应变量的错误方式吗?
有人可以帮助我吗
<?PHP
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
// set to retunr response=error
$arr = array ('resonse'=>'error','comment'=>'test comment here');
echo json_encode($arr);
?>
//the script above returns this:
{"response":"error","comment":"test comment here"}
<script type="text/javascript">
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
dataType: "json",
success: function (data) {
if (json.response == 'captcha') {
alert('captcha');
} else if (json.response == 'error') {
alert('sorry there was an error');
} else if (json.response == 'success') {
alert('sucess');
};
}
})
</script>
更新;
我已经更改了
json.response
进入
数据响应
但这也没有使
这是脚本,使用上面的建议进行了重写,并对无缓存方法进行了更改。
<?php
// Simpler way of making sure all no-cache headers get sent
// and understood by all browsers, including IE.
session_cache_limiter('nocache');
header('Expires: ' . gmdate('r', 0));
header('Content-type: application/json');
// set to return response=error
$arr = array ('response'=>'error','comment'=>'test comment here');
echo json_encode($arr);
?>
//the script above returns this:
{"response":"error","comment":"test comment here"}
<script type="text/javascript">
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
dataType: "json",
success: function (data) {
if (data.response == 'captcha') {
alert('captcha');
} else if (data.response == 'success') {
alert('success');
} else {
alert('sorry there was an error');
}
}
}); // Semi-colons after all declarations, IE is picky on these things.
</script>
这里的主要问题是您在返回的JSON中有一个错字(“ resonse”而不是“
response”。这意味着您在JavaScript代码中查找了错误的属性。一种在将来捕获这些问题的方法)是console.log
的价值data
,并确保你正在寻找的属性是存在的。
学习如何使用Chrome调试器工具(或Firefox / Safari / Opera /等中的类似工具)也将非常宝贵。
问题内容: 想象一下我运行这个: 在/ajax/watch.php内部,假设我有这个: 并且alert(responseText)返回: 而不是我需要的文本字符串。有什么帮助吗? 问题答案: 看起来您的jQuery以某种方式返回了XMLHttpRequest对象,而不是您的响应。 如果是这种情况,则应请求其属性,如下所示: 但是,如果这不起作用,则可能实际上是在接收JSON响应,并且您看到的可能是
我试图从Web读取JSON数据,但该代码返回空结果。我不确定我做错了什么。
问题内容: 我正在尝试从Web读取JSON数据,但是该代码返回空结果。我不确定我在做什么错。 问题答案: 理想的方法 不是 使用,而是直接在阅读器上使用解码器。这是一个不错的函数,它获取url并将其响应解码到结构上。 使用示例: 您不应该在生产中使用默认结构,如最初回答的那样!(/ etc调用的是哪个)。原因是默认客户端没有设置超时。如果远程服务器无响应,那将是糟糕的一天。
我正在尝试从json的响应中获取正文并打印这个json或能够将他放入数组。我在堆栈上找到了这篇文章:如何从http.Get获得JSON响应。有代码: 但是我不明白为什么会有“Decode(target)”和“target interface{}”。它是做什么的?为什么当我试着打印json时?NewDecoder(r.Body)没有什么有意义的。
我一直在努力学习关于如何使用的最简单的教程,我认为这是与相比的下一个最棒的教程。 例如,https://www.baeldung.com/spring-5-webclient#4-geting-a-response 因此,当我尝试对https://petstore.swagger.io/v2/pet/findbystatus?status=available执行同样的操作时,
问题内容: 我有一个bash脚本a.sh,其中有一个python脚本b.py。python脚本计算某些内容,我希望它返回一个值,该值稍后将在a.sh中使用。我知道我能做 在a.sh中: 在b.py中: 但这不是那么方便,因为我还在b.py中打印了其他消息 有什么更好的方法吗? 编辑: 我现在正在做的只是 这意味着我可以在b.py中打印很多东西,但是只有最后一行(假设它不包含“ \ n”,这是最后一