最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

servlet,SSM,jQuery實(shí)現(xiàn)JSONP跨域訪問(wèn),數(shù)據(jù)的下拉框聯(lián)動(dòng),面試題【詩(shī)書畫唱】

2021-04-06 23:36 作者:詩(shī)書畫唱  | 我要投稿


概括:


src屬性可以不受跨域訪問(wèn)問(wèn)題的影響,可以放心地訪問(wèn)


后面的增刪改查幾乎全是用跨越訪問(wèn)來(lái)實(shí)現(xiàn)

servlet中使用JSONP實(shí)現(xiàn)跨域訪問(wèn),打印傳過(guò)來(lái)的JSON字符串的賬號(hào)名的代碼例子

SSM框架中使用JSONP實(shí)現(xiàn)跨域訪問(wèn)實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)的下拉框聯(lián)動(dòng)


jQuery實(shí)現(xiàn)JSONP跨域訪問(wèn)



例 1?

例 2

例 3?




可能的面試題:

JSON和JSONP有什么關(guān)系?

JSON:JS對(duì)象表示法,一種數(shù)據(jù)傳輸?shù)母袷揭?/p>

XML:可擴(kuò)展標(biāo)記語(yǔ)言,一種數(shù)據(jù)傳輸?shù)母袷揭?/p>

前端必知代碼:



這里的url看需求來(lái)改
出現(xiàn)圖中的報(bào)錯(cuò)就是出現(xiàn)了跨域訪問(wèn)的問(wèn)題

要知道的:


servlet中使用JSONP實(shí)現(xiàn)跨域訪問(wèn),打印傳過(guò)來(lái)的JSON字符串的賬號(hào)名的代碼例子 START


package com.SSHC.servlet;


import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

?* Servlet implementation class MyServlet

?*/

@WebServlet("/ms")

public class MyServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

? ? ? ?

? ? /**

? ? ?* @see HttpServlet#HttpServlet()

? ? ?*/

? ? public MyServlet() {

? ? ? ? super();

? ? ? ? // TODO Auto-generated constructor stub

? ? }


/**

* @see HttpServlet#doGet(HttpServletRequest request,

*? HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request,

HttpServletResponse response)?

throws ServletException, IOException {

// TODO Auto-generated method stub

this.doPost(request, response);

}


/**

* @see HttpServlet#doPost(HttpServletRequest request,

*? HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request,

HttpServletResponse response)?

throws ServletException, IOException {

// TODO Auto-generated method stub

//獲取需要調(diào)用的函數(shù)的名字

String methodName = request.getParameter("callback");

System.out.println("調(diào)用的回調(diào)函數(shù)名是:" + methodName);

String data = "{\"act\":\"admin\",\"pwd\":666}";

//JSONP處理數(shù)據(jù)的代碼跟普通的ajax處理代碼不同,它需要調(diào)用回調(diào)函數(shù),

//通過(guò)回調(diào)函數(shù)來(lái)進(jìn)行處理

response.getWriter().write(methodName + "(" + data + ");");

}


}

//調(diào)用HBULIDER頁(yè)面中的localFn函數(shù)

localFn('Hello Kitty!');



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script type="text/javascript" srcc="js/jquery-1.11.0.js" ></script>

<script>

$(function(){

? ? ? ? ? ??$('#btn').click(function(){

? ? ? ? ? ??$.ajax({

? ? ? ? ? ??url: 'http://localhost:8080/JSONPservlet/ms?callback=?',

? ? ? ? ? ??async: false,

? ? ? ? ? ??type: 'POST',

? ? ? ? ? ??//設(shè)置跨域訪問(wèn)

? ? ? ? ? ??dataType: 'jsonp',

? ? ? ? ? ??success: function(data){

? ? ? ? ? ??alert(data.act);

? ? ? ? ? ??}

? ? ? ? ? ??});

? ? ? ? ? ??});

? ? ? ? ? ? })

</script>

</head>

<body>

<input id="btn" type="button" value="發(fā)送數(shù)據(jù)" />

</body>

</html>



jQuery實(shí)現(xiàn)JSONP跨域訪問(wèn)




servlet中使用JSONP實(shí)現(xiàn)跨域訪問(wèn),打印傳過(guò)來(lái)的JSON字符串的賬號(hào)名的代碼例子 END



SSM框架中使用JSONP實(shí)現(xiàn)跨域訪問(wèn)實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)的下拉框聯(lián)動(dòng) START

select * from addr

--drop table addr

create table addr (

? ? id number primary key,

? ? pid number,

? ? name varchar2(20)

);

insert into addr values('1', '0', '湖南');

insert into addr values('2', '0', '江西');

insert into addr values('3', '0', '湖北');

insert into addr values('4', '0', '廣東');

insert into addr values('5', '0', '福建');

insert into addr values('6', '1', '長(zhǎng)沙');

insert into addr values('7', '1', '湘潭');

insert into addr values('8', '1', '婁底');

insert into addr values('9', '1', '株洲');

insert into addr values('10', '2', '宜春');

insert into addr values('11', '2', '萍鄉(xiāng)');

insert into addr values('12', '2', '南昌');

insert into addr values('13', '3', '武漢');

insert into addr values('14', '3', '黃岡');

insert into addr values('15', '3', '孝感');

insert into addr values('16', '5', '廈門');

insert into addr values('17', '5', '福州');

package com.SSHC.bean;


public class Addr {

? ? private Integer id;

? ? private Integer pid;

? ? private String name;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public Integer getPid() {

return pid;

}

public void setPid(Integer pid) {

this.pid = pid;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}



package com.SSHC.controller;


import java.util.Map;


import javax.annotation.Resource;


import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.ModelAttribute;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;


import com.SSHC.service.IMyService;


@Controller

public class SelController {

@Resource

? ? private IMyService myService;

//http://localhost:8080/JSONPssm/loadData?pid=0&callback=abc

@RequestMapping(value = "loadData",method = RequestMethod.GET)

public @ResponseBody String loadData(@RequestParam Integer pid

,@RequestParam String callback){

String jsonStr = myService.getJson(pid);

return callback + "(" + jsonStr + ")";

}

}


package com.SSHC.dao;


import java.util.List;


import org.springframework.stereotype.Repository;


import com.SSHC.bean.Addr;


@Repository

public interface AddrDao {

? ? List<Addr>selectByPid(Integer pid);

}

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

? ? PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"??

? ? "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- namespace不能亂寫,必須寫成IUserinfoDao接口的全路徑 -->

<mapper namespace="com.SSHC.dao.AddrDao">? ?

? ? <resultMap type="Addr" id="rmAddr">

? ? ? ? <id property="id" column="ID"/>

? ? <result property="pid" column="PID"/>

? ? <result property="name" column="NAME"/>

? ? </resultMap>??

? ? <!-- List<Addr>selectByPid(Integer pid) -->

? ? <select id="selectByPid" resultMap="rmAddr">

? ? ? ? select * from ADDR t where pid = #{pid}

? ? </select>??

</mapper>






package com.SSHC.service;


public interface IMyService {

? ? String getJson(Integer pid);

}

package com.SSHC.service;


import java.util.List;


import javax.annotation.Resource;


import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;


import com.SSHC.bean.Addr;

import com.SSHC.dao.AddrDao;


@Service

@Transactional

public class MyService implements IMyService {

@Resource

? ? private AddrDao addrDao;


@Override

public String getJson(Integer pid) {

// TODO Auto-generated method stub

List<Addr>list = addrDao.selectByPid(pid);

//拼JSON字符串

StringBuilder jsonStr = new StringBuilder("[{\"id\":null,\"name\":\"請(qǐng)選擇\",\"pid\":null},");

String dot = "";

for(Addr a : list) {

jsonStr.append(dot);

jsonStr.append("{");

jsonStr.append("\"id\":" + a.getId() + ",\"pid\":"?

? ? + a.getPid() + ",\"name\":\"" + a.getName() + "\"");

jsonStr.append("}");

dot = ",";

}

jsonStr.append("]");

return jsonStr.toString();

}

}

package com.SSHC.servlet;


import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


/**

?* Servlet implementation class MyServlet

?*/

@WebServlet("/ms")

public class MyServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

? ? ? ?

? ? /**

? ? ?* @see HttpServlet#HttpServlet()

? ? ?*/

? ? public MyServlet() {

? ? ? ? super();

? ? ? ? // TODO Auto-generated constructor stub

? ? }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

this.doPost(request, response);

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.getWriter().write("Hello world");

}


}


oracle_drivername=oracle.jdbc.driver.OracleDriver

oracle_url=jdbc:oracle:thin:@localhost:1521:orcl

oracle_username=X

oracle_password=sshcPwd

log4j.rootLogger=DEBUG,Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d[%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet=INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"??

? ? "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>??

? ? <typeAliases>

? ? ? ? <package name="com.SSHC.bean"/>

? ? </typeAliases>

</configuration>

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

? ? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

? ? xmlns:context="http://www.springframework.org/schema/context"

? ? xmlns:mvc="http://www.springframework.org/schema/mvc"

? ? xmlns:tx="http://www.springframework.org/schema/tx"

? ? xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

? ? ? ? http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd

? ? ? ? http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd

? ? ? ? http://www.springframework.org/schema/tx?

? ? ? ? http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">

? ? <!-- 配置掃描注解,不掃描帶有@Controller注解的類 -->

? ? <context:component-scan base-package="com.SSHC">

? ? ? ? <context:exclude-filter type="annotation"

? ? ? ? ? ? expression="org.springframework.stereotype.Controller" />

? ? </context:component-scan>

? ? <!-- 引入db.properties文件 -->

? ? <bean id="propertyConfigurer"?

? ? ? ? class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

? ? ? ? <property name="location" value="classpath:db.properties"/>

? ? </bean>

? ? <!--數(shù)據(jù)庫(kù)連接池配置-->

? ? <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"?

? ? ? ? destroy-method="close">??

? ? ? ? <property name="driverClassName" value="${oracle_drivername}"/>

? ? ? ? <property name="url" value="${oracle_url}"/>

? ? ? ? <property name="username" value="${oracle_username}"/>

? ? ? ? <property name="password" value="${oracle_password}"/>

? ? </bean>

? ? <!-- 創(chuàng)建sqlSessionFactory對(duì)象 -->

? ? <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

? ? ? ? <!-- 指定數(shù)據(jù)源 -->

? ? ? ? <property name="dataSource" ref="dataSource"/>

? ? ? ? <!-- 指定mybatis框架主配置文件的位置 -->

? ? ? ? <property name="configLocation" value="classpath:mybatis.xml"/>

? ? ? ? <!-- 自動(dòng)掃描mapping.xml文件,**表示迭代查找 ,,也可在mybatis.xml中單獨(dú)指定xml文件 -->

? ? ? ? <property name="mapperLocations" value="classpath:com/SSHC/dao/*.xml"/>

? ? </bean>?

? ? <!-- 自動(dòng)掃描com/SSHC/dao下的所有dao接口,并實(shí)現(xiàn)這些接口,

? ? ? ? ? ? ? ? ?可直接在程序中使用dao接口,不用再獲取sqlsession對(duì)象 -->

? ? <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

? ? ? ? <!-- basePackage 屬性是映射器接口文件的包路徑。

? ? ? ? ? ? ? ? ? ? ? ? 你可以使用分號(hào)或逗號(hào) 作為分隔符設(shè)置多于一個(gè)的包路徑-->

? ? ? ? <property name="basePackage" value="com/SSHC/dao"/>

? ? ? ? <!-- 因?yàn)闀?huì)自動(dòng)裝配 SqlSessionFactory和SqlSessionTemplate

? ? ? ? ? ? ? ? ? ? ? ? 所以沒有必要去指定SqlSessionFactory或 SqlSessionTemplate

? ? ? ? ? ? ? ? ? ? ? ? 因此可省略不配置;

? ? ? ? ? ? ? ? ? ? ? ? 但是,如果你使用了一個(gè)以上的 DataSource,那么自動(dòng)裝配可能會(huì)失效。

? ? ? ? ? ? ? ? ? ? ? ? 這種情況下,你可以使用sqlSessionFactoryBeanName或sqlSessionTemplateBeanName屬性

? ? ? ? ? ? ? ? ? ? ? ? 來(lái)設(shè)置正確的 bean名稱來(lái)使用 -->

? ? ? ? ?<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>

? ? </bean>

? ? <!-- 配置事務(wù)管理器 -->

? ? <bean id="transactionManager"

? ? ? ? class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

? ? ? ? <property name="dataSource" ref="dataSource" />

? ? </bean>

? ? <!--? 使用聲明式事務(wù) transaction-manager:引用上面定義的事務(wù)管理器 -->

? ? <tx:annotation-driven transaction-manager="transactionManager"/>

</beans>

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

? ? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

? ? xmlns:context="http://www.springframework.org/schema/context"

? ? xmlns:mvc="http://www.springframework.org/schema/mvc"

? ? xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

? ? ? ? http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd

? ? ? ? http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">? ? ? ? ? ? ? ? ? ? ? ?

? ? <!-- 掃描@Controller注解 -->

? ? <context:component-scan base-package="com.SSHC.controller">

? ? ? ? <context:include-filter type="annotation"

? ? ? ? ? ? expression="org.springframework.stereotype.Controller" />

? ? </context:component-scan>

? ? <!-- 默認(rèn)注冊(cè)RequestMappingHandlerMapping和RequestMappingHandlerAdapter類 -->

? ? <mvc:annotation-driven>

? ? ? ? <!--? ? json亂碼解決-->

? ? ? ? <mvc:message-converters register-defaults="true">

? ? ? ? ? ? <bean class="org.springframework.http.converter.StringHttpMessageConverter">

? ? ? ? ? ? ? ? <constructor-arg value="UTF-8"/>

? ? ? ? ? ? </bean>

? ? ? ? ? ? <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

? ? ? ? ? ? ? ? <property name="objectMapper">

? ? ? ? ? ? ? ? ? ? <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">

? ? ? ? ? ? ? ? ? ? ? ? <property name="failOnEmptyBeans" value="false"/>

? ? ? ? ? ? ? ? ? ? </bean>

? ? ? ? ? ? ? ? </property>

? ? ? ? ? ? </bean>

? ? ? ? </mvc:message-converters>

? ? </mvc:annotation-driven>

? ? <!-- jsp引用外部js,css等靜態(tài)資源的解決方法(和上面的標(biāo)簽必須同時(shí)出現(xiàn),否則無(wú)法訪問(wèn)url) -->

? ? <mvc:default-servlet-handler />

? ? <!-- 配置視圖名稱解析器 -->

? ? <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"?

? ? ? ? ? ? id="internalResourceViewResolver">

? ? ? ? <!-- 前綴 -->

? ? ? ? <!-- 將所有的jsp文件存放在/WEB-INF/my/目錄下 -->

? ? ? ? <property name="prefix" value="/WEB-INF/" />

? ? ? ? <!-- 后綴 -->

? ? ? ? <property name="suffix" value=".jsp" />

? ? ? ? <!-- 優(yōu)先級(jí)設(shè)定 -->

? ? ? ? <property name="order" value="10"></property>

? ? </bean>?

? ?

</beans>


<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

? <display-name>JSONPssm</display-name>

? <listener>

? ? <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

? </listener>

? <filter>

? ? <filter-name>CharacterEncodingFilter</filter-name>

? ? <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

? ? <init-param>

? ? ? <param-name>encoding</param-name>

? ? ? <param-value>utf-8</param-value>

? ? </init-param>

? </filter>

? <filter-mapping>

? ? <filter-name>CharacterEncodingFilter</filter-name>

? ? <url-pattern>/*</url-pattern>

? </filter-mapping>

? <servlet>

? ? <servlet-name>springmvc</servlet-name>

? ? <servlet-class>

? ? ? ? ? org.springframework.web.servlet.DispatcherServlet

? ? ? </servlet-class>

? ? <load-on-startup>1</load-on-startup>

? </servlet>

? <servlet-mapping>

? ? <servlet-name>springmvc</servlet-name>

? ? <url-pattern>/</url-pattern>

? </servlet-mapping>

? <welcome-file-list>

? ? <welcome-file>index.html</welcome-file>

? ? <welcome-file>index.htm</welcome-file>

? ? <welcome-file>index.jsp</welcome-file>

? ? <welcome-file>default.html</welcome-file>

? ? <welcome-file>default.htm</welcome-file>

? ? <welcome-file>default.jsp</welcome-file>

? </welcome-file-list>

</web-app>


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%

? ? String path = request.getContextPath();

? ? String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

? ? <head>

? ? ? ? <base hreff="<%=basePath%>">

? ? ? ? <title></title>

? ? ? ? <meta http-equiv="pragma" content="no-cache">

? ? ? ? <meta http-equiv="cache-control" content="no-cache">

? ? ? ? <meta http-equiv="expires" content="0">

? ? ? ? <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

? ? ? ? <meta http-equiv="description" content="This is my page">

? ? ? ? <script type="text/javascript" srcc="js/jquery-1.11.0.js"></script>

? ? ? ? <script type="text/javascript">

? ? ? ? ? ? $(function(){

? ? ? ? ? ? $('#btn').click(function(){

? ? ? ? ? ? $.ajax({

? ? ? ? ? ? url: 'ms',

? ? ? ? ? ? type: 'POST',

? ? ? ? ? ? success: function(data){

? ? ? ? ? ? alert(data);

? ? ? ? ? ? }

? ? ? ? ? ? });

? ? ? ? ? ? });

? ? ? ? ? ? })

? ? ? ? </script>

? ? </head>

? ? <body>

? ? ? ? <input id="btn" type="button" value="發(fā)送數(shù)據(jù)" />

? ? </body>

</html>



http://localhost:8080/JSONPssm/loadData?pid=0&callback=abc

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

* {

font-size: 50px;

}

</style>

<script type="text/javascript" srcc="js/jquery-1.11.0.js" ></script>

<script>

$(function(){

//請(qǐng)求省份下拉框中的數(shù)據(jù)

$.ajax({

url: 'http://localhost:8080/JSONPssm/loadData?callback=?',

? ? ? ? async: false,

? ? ? ? type: 'POST',

? ? ? ? data: {

? ? ? ? pid: 0

? ? ? ? },

? ? ? ? //設(shè)置跨域訪問(wèn)

? ? ? ? dataType: 'jsonp',

? ? ? ? success: function(data){

? ? ? ? for(var i = 0;i < data.length;i ++) {

? ? ? ? var prov = data[i];

? ? ? ? //將省份加到下拉框中

? ? ? ? $('#prov')[0].add(new Option(prov.name,prov.id));

? ? ? ? }

? ? ? ? }

});

$('#prov').change(function(){

//清空城市下拉框中的數(shù)據(jù)

$('#city')[0].length = 0;

//獲取選中省份下拉框中的id

var id = $('#prov').val();

$.ajax({

url: 'http://localhost:8080/JSONPssm/loadData?callback=?',

? ? ? ? async: false,

? ? ? ? type: 'POST',

? ? ? ? data: {

? ? ? ? pid: id

? ? ? ? },

? ? ? ? //設(shè)置跨域訪問(wèn)

? ? ? ? dataType: 'jsonp',

? ? ? ? success: function(data){

? ? ? ? for(var i = 0;i < data.length;i ++) {

? ? ? ? var city = data[i];

? ? ? ? $('#city')[0].add(new Option(city.name,city.id));

? ? ? ? }

? ? ? ? }

});

});

})

</script>

</head>

<body>

<select id="prov"></select>

<select id="city"></select>

</body>

</html>



SSM框架中使用JSONP實(shí)現(xiàn)跨域訪問(wèn)實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)的下拉框聯(lián)動(dòng) END


JSON:JS對(duì)象表示法,一種數(shù)據(jù)傳輸?shù)母袷揭?/strong>

XML:可擴(kuò)展標(biāo)記語(yǔ)言,一種數(shù)據(jù)傳輸?shù)母袷揭?/strong>

JSONP:解決跨域訪問(wèn)的一種方式

JSON和JSONP有什么關(guān)系?

同源訪問(wèn):

頁(yè)面路徑:http://localhost:8888/J190802SSM/index.jsp

調(diào)用路徑:http://localhost:8888/J190802SSM/ms

跨域訪問(wèn):

頁(yè)面路徑:http://127.0.0.1:8020/J190802/index.html

調(diào)用路徑:http://localhost:8888/J190802SSM/ms


什么跨域訪問(wèn):

當(dāng)頁(yè)面路徑和調(diào)用路徑出現(xiàn)了不同的時(shí)候,就會(huì)出現(xiàn)跨域訪問(wèn)的訪問(wèn):

1、協(xié)議不同就會(huì)出現(xiàn)跨域訪問(wèn)

2、ip地址不同就會(huì)出現(xiàn)跨域訪問(wèn)

3、端口號(hào)不同就會(huì)出現(xiàn)跨域訪問(wèn)

4、項(xiàng)目名稱不同就會(huì)出現(xiàn)跨域訪問(wèn)


頁(yè)面路徑:http://127.0.0.1:8020/J190802/JSONP.html

調(diào)用路徑:http://localhost:8888/JSONPdemo/js/remote.js

JSONP跨域訪問(wèn)的核心技術(shù)就是利用script標(biāo)簽的src屬性。


通過(guò)跨域訪問(wèn)實(shí)現(xiàn)下拉框聯(lián)動(dòng)效果



src屬性可以不受跨域訪問(wèn)問(wèn)題的影響,可以放心地訪問(wèn),這里就可以運(yùn)行eclipse中的js代碼了
例1

例1

例1


例 2-1

例2-2


例 2-1的另一種寫法




例 2-3





例 3?





例 3?


后面的增刪改查幾乎全是用跨越訪問(wèn)來(lái)實(shí)現(xiàn)


servlet,SSM,jQuery實(shí)現(xiàn)JSONP跨域訪問(wèn),數(shù)據(jù)的下拉框聯(lián)動(dòng),面試題【詩(shī)書畫唱】的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
滕州市| 田阳县| 黄冈市| 武川县| 阳江市| 通渭县| 高安市| 岑巩县| 察雅县| 宜兰县| 临湘市| 龙南县| 肇源县| 菏泽市| 定远县| 泾川县| 屏东市| 巴塘县| 山阴县| 于都县| 三台县| 新余市| 湄潭县| 治县。| 永靖县| 偏关县| 五寨县| 洮南市| 桦南县| 遂溪县| 津市市| 甘孜| 新竹县| 宜兰市| 淳化县| 乌拉特后旗| 建平县| 凤冈县| 齐河县| 张家港市| 乐陵市|