菜单

ThinkPHP中使用ajax接收json数据的章程

2018年11月15日 - Ajax

jsp页面代码

http://tools.jb51.net/code/json_yasuo_trans

即以最后大多矣一个逗号就导致连日出错,并且循环不了,最后用左打印出才理解此格式是拂了的

复制代码 代码如下:

package com.sidan.jsonutil;

public class Person {
 private String name;
 private String sex;
 private int age;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }

}

此处透过ThinkPHP+jquery实现ajax,扩展了产,写了单查询,前台代码如下:

Pserson类

function ajax(id,pic){
   
//由于ThinkPHP不解析JavaScript里的ThinkPHP常量,所以要事先以此间定义。
var URL=’__URL__’;
        $.ajax({
            url: URL+’/returnAjax/id/’+id,//提交访问的URL
            type: ‘GET’,//提交的方
            dataType:
‘text’,//返回的始末之路,由于PHP文件是直接echo的,那么这里虽是text
            timeout: 1000,//超时工夫
            error: function(){ //如果出错,执行函数
                alert(‘Error loading XML document’);
            },
            success: function(data){
                //alert(data);//如果成功,弹出数据
                writeHtml(data,pic);
            }
        });
}
function writeHtml(data,pic){
    var product = eval(‘(‘ + data + ‘)’);
//即使不引入json.js也可以改变成json对象 
    //alert($(“#cate_pic”).attr(“src”));
    $(“#cate_pic”).attr(“src”,”../images/”+pic);
   
$(“#product_pic”).attr(“src”,”../Attachments/product/”+product.attachpath+”/”+product.attachthumb);
    $(“#product_subject”).html(product.subject);
    $(“#product_content”).html(product.content);
}

描绘这个demo也费了深大劲,毕竟是新手,也于漏洞百出中学至了不少,比如dataType写成datatype时ajax默认接收的数据是吗text这样造成自己一连循环不了,还有就是是json数据的格式是死小心谨慎的

PS:关于json操作,这里又为大家推荐几款款较实用的json在线工具供大家参考使用:

以上就首用ajax接收后台发送过来的json数据方式就是微编分享给大家的全部内容了,希望能吃大家一个参照,也冀望大家多支持脚本的拙。

汝可能感兴趣的篇章:

今让大家带来一个简易的采用ajax接收后台返回json格式的demo

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

<pre name="code" class="html"><%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script src="jQuery/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
 $(function(){
  $("#btn").click(function(){
   var url = "OutJson";
   $.ajax({
    url:url,
    type:"post",
    dataType:"json",
    error:function(XMLHttpRequest, textStatus, errorThrown){
     alert(XMLHttpRequest);
     alert(textStatus);
     alert(errorThrown);
    },
    success:function(data){
     $.each(data,function(idx,obj){
      var li = document.createElement("li");
      li.innerHTML = "<a>" + obj.name + "</a>";
      document.getElementById("ul1").appendChild(li);
     });
    }
   });
  });

 });
</script>
</head>
<body>
 <ul id="ul1"></ul>
 <input type="button" value="循环" id="btn"/>
</body>
</html>

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

君或许感兴趣的文章:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

package com.sidan.outjson;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sidan.jsonutil.GetJson;
/**
 * Servlet implementation class OutJson
 */
@WebServlet("/OutJson")
public class OutJson extends HttpServlet {
 private static final long serialVersionUID = 1L;

 /**
  * @see HttpServlet#HttpServlet()
  */
 public OutJson() {
  super();
  // TODO Auto-generated constructor stub
 }

 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doPost(request,response);
 }

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setCharacterEncoding("UTF-8");
  PrintWriter out = response.getWriter();
  String s = GetJson.getJson();
  out.print(s);
 }

}

public function returnAjax(){ 
        $id = $_GET[‘id’]; 
        $Product=D(‘Product’)->where(‘id=’.$id)->find(); 
        //返回一个json格式的多寡集 
        echo json_encode($Product); 
//print_r(json_encode($Product)); 
}

package com.sidan.jsonutil;

import java.util.ArrayList;

public class GetJson {

 public static String getJson(){

  return json().toString();
 }

 public static StringBuffer json(){
  StringBuffer sb = new StringBuffer();
  ArrayList<Person> arr = initArray();
  int x = 0;
  sb.append("[");
  for(Person p:arr){
   sb.append("{");
   sb.append("\"name\"");
   sb.append(":");
   sb.append("\""+p.getName()+"\"");
   sb.append(",");
   sb.append("\"age\"");
   sb.append(":");
   sb.append("\""+p.getAge()+"\"");
   sb.append(",");
   sb.append("\"sex\"");
   sb.append(":");
   sb.append("\""+p.getSex()+"\"");
   sb.append("}");
   if(x != arr.size()-1){
    sb.append(",");
   }
   x++;
  }
  sb.append("]");
  return sb;
 }

 public static ArrayList<Person> initArray(){
  ArrayList<Person> arr = new ArrayList<Person>();
  for(int i = 0;i < 10;i++){
   Person p = new Person();
   p.setName("sdchen");
   p.setAge(20);
   p.setSex("man");
   arr.add(p);
  }
  return arr;
 }
}

当线json压缩/转义工具:

以数据包装成json格式类(数据直接是循环添加的所为同一这里是以简单)

归来的数码格式如下:

后台代码

  
{
    “id”:”9″,
    “userid”:”1″,
    “cid”:”10″,
    “cid”:”10″,
    “subject”:”1111″,
    “color”:””,
    “spec”:””,
    “size”:””,
    “keywords”:””,
    “content”:”<p>1111</p>”,
    “meno”:”1111″,
    “attachpath”:”200903″,
    “attachment”:”49d1d86e68d31.png”,
    “attachthumb”:”49d1d86e68d31_thumb.png”
}

废话不多说一直上代码

复制代码 代码如下:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

Product.class.php中使用echo输出,thinkphp中json_encode()方法而将目标活动转成json格式

正文实例讲述了ThinkPHP中动用ajax接收json数据的措施。分享给大家供大家参考。具体分析如下:

再也多关于thinkPHP相关内容感兴趣的读者可查阅本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技能总结》、《ThinkPHP常用艺术总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

复制代码 代码如下:

JSON以线格式化工具:
http://tools.jb51.net/code/jsonformat

第一需引入jquery.js,主要代码如下:

要本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图