当前位置: 首页 > 面试题库 >

带有json响应的jQuery ajax请求,如何执行?

夏侯渊
2023-03-14
问题内容

我正在发送一个带有2个post值的ajax请求,第一个是“ action”,它定义了我的php脚本必须解析的动作,另一个是“
id”,它是要为其解析脚本的用户的ID。
服务器在array()中返回6个值,然后使用PHP函数将其编码为JSON:json_encode();
我的一些响应为HTML,但是当我将其编码为JSON时,它会转义,"/"因此"\/"
如何禁用它?

当我不知道如何在获得服务器响应时在jQuery中显示此消息时,我只是认为将其全部放入div只会显示我所请求的数字和HTML代码,但它将按原样显示数组用PHP编码。

的PHP

$response = array();
$response[] = "<a href=''>link</a>";
$response[] = 1;
echo json_encode($response);

jQuery的:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "main.php",
    data: "action=loadall&id=" + id,
    complete: function(data) {
        $('#main').html(data.responseText);
    }
});

如何使它能够工作JSON?


问题答案:

您需要致电

$.parseJSON();

例如:

...
success: function(data){
       var json = $.parseJSON(data); // create an object with the key of the array
       alert(json.html); // where html is the key of array that you want, $response['html'] = "<a>something..</a>";
    },
    error: function(data){
       var json = $.parseJSON(data);
       alert(json.error);
    } ...

请参阅
http://api.jquery.com/jQuery.parseJSON/

如果仍然有斜杠的问题:搜索security.magicquotes.disabling.php
或:
function.stripslashes.php

注意:

此答案适用于那些尝试$.ajaxdataType属性设置为json,甚至响应类型错误的人。header('Content-type: application/json');在服务器中定义可以解决此问题,但是如果您要返回text/html或任何其他类型,则该$.ajax方法应将其转换为json。我做一个测试与旧版本的jQuery和唯一版本后1.4.4$.ajax力的任何内容类型转换为dataType通过。因此,如果您有此问题,请尝试更新jQuery版本。



 类似资料:
  • 我在Tomcat 7.0.75上部署了一个spring boot web应用程序,我们最近用https保护了它,它有以下服务器。xml: 当我们转到https时,具有大型(多MB)json响应体的请求在报告200 OK响应代码后,开始在Chrome中生成奇怪的警告消息。IE也未能完全下载响应。 它只是一直显示警告,永远不会完成下载。小请求很好。从客户端的角度来看,请求尚未完成,因为https调用的

  • 我正在开发一个与我编写的RESTful网络服务通信的Android应用程序。在GET方法中使用Volley非常简单,但是我不能把我的手指放在POST方法上。 如何从我的post请求响应中获取字段这是我的响应 我想只有"访问令牌"内容 这是我的密码 请帮帮我?!

  • 我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ

  • 问题内容: 我有一个包含表单(帖子)的html。单击某些提交按钮时,我会收到JSON响应。 如何获取此JSON? 如果我不截取请求,则json将显示在Web视图上,所以我想应该使用(我正在使用API​​ 12),但是我不知道如何在其中获取json。 还是有更好的方法,例如拦截响应而不是请求? 谢谢 问题答案: 您应该重写的方法

  • 问题内容: 我试图一起使用以发出POST请求。到目前为止,我的代码: 它工作正常,但是,当发生HTTP错误时,会发出警告: 并返回false。有没有办法: 禁止显示警告(如果发生故障,我打算抛出自己的异常) 从流中获取错误信息(至少是响应代码) 问题答案: http://php.net/manual/en/reserved.variables.httpresponseheader.php

  • 问题内容: 目前,我在使用新的Spring 5 WebClient时遇到问题,需要一些帮助来解决它。问题是: 我请求一些返回json响应的URL,其内容类型为 text / html; charset = utf-8 。 但不幸的是,我仍然遇到异常: org.springframework.web.reactive.function.UnsupportedMediaTypeException:不支