Jsonp是解决跨域问题的一个办法。在jsonp:"callback"是对应后台返回的值使用的。
客户端页面代码:
<!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=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="uploadify/jquery.min.js"></script>
</head>
<body>
</body>
</html>
<script type="text/javascript">
(function(){
$.ajax({
async: false,
url:"http://16.165.53.40:8080/upload/ddsd.do",
//url:"http://16.165.53.40:8080/upload/somejson",
type:"get",
dataType:"jsonp",
jsonp:"callback",
data:null,
contentType:"application/json;utf-8",
success: function(result){
alert(11);
},
failure: function(){
alert(222);
}
});
})();
</script>
服务器接收代码:
package com.file;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.catalina.core.ApplicationContext;
import org.apache.tomcat.util.http.fileupload.FileItem;
import org.apache.tomcat.util.http.fileupload.FileItemFactory;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
public class UploadServlet implements Servlet {
@Override
public void destroy() {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
String callback = request.getParameter("callback");
System.out.println(request.getParameter("callback"));
response.getWriter().print(callback+"({success:'successful'})");
}
private void createFolder(String path){
File file = new File(path);
if(!file.exists()){
file.mkdirs();
}
}
}
分享到:
相关推荐
2. **JSONP跨域**: JSONP的工作方式不同,它不依赖于XMLHttpRequest对象。首先,客户端在HTML页面中定义一个全局函数,如`handleData(data)`。然后,创建一个`<script>`标签,将`src`属性设置为服务器的URL,URL中...
在本项目"JSONP跨域实现百度搜索功能(v1.0.0)"中,我们将深入探讨如何利用JSONP技术来实现在网页上嵌入一个能够进行百度搜索的功能。 首先,我们需要理解为什么需要JSONP。浏览器的同源策略是出于安全考虑,不允许...
二、JSONP的使用步骤 1. 客户端(JavaScript): - 创建`<script>`标签,设置`src`属性为服务端接口URL,并添加一个查询参数,如`callback`,值为预定义的回调函数名。 - 在全局作用域定义回调函数,用于处理返回...
ajax jsonp跨域传参,里面有源码,不过写在txt中了,很适合调用别人的接口
Ajax JSONP跨域处理是Web开发中的重要技术,通过JSONP,开发者可以在不违反同源策略的前提下实现跨域数据交互。虽然JSONP存在一些限制和安全隐患,但在许多场景下,它仍然是一个实用且有效的解决方案。随着技术的...
在标题“JS 使用 JSONP 跨域获取用户IP”中,我们可以理解为这个示例将展示如何利用JSONP技术来解决浏览器的同源策略限制,从而获取到用户的IP地址。这在某些场景下非常有用,比如分析用户地理位置、提供个性化服务...
2. **发起请求**:使用`$.getJSON()`发起请求,并设置`dataType`为`"jsonp"`,同时指定回调函数的名称,这将作为查询参数传递给服务器。例如: ```javascript $.getJSON('http://example.com/api/data?callback=?'...
ASP.NET 和 jQuery 结合使用 JSONP 可以实现跨域数据交互。本示例“ASPNET_JSONP_demo(jq跨域)”正是展示了如何在 ASP.NET 平台上构建一个 JSONP 服务,并利用 jQuery 进行跨域调用。 首先,我们需要理解 JSONP 的...
接下来,我们来看如何编写一个简单的原生JavaScript AJAX库,支持JSONP跨域。以下是一个基本的实现框架: ```javascript function Ajax(options) { var script = document.createElement('script'); var ...
本文将详细探讨JSONP的工作原理以及如何在实际项目中使用它来跨域获取JSON数据。 ### JSONP简介 JSONP全称为"JSON Padding",它并不是JSON的一种新格式,而是一种利用动态创建`<script>`标签来绕过同源策略的技巧...
原生JS封装Ajax插件(同域、jsonp跨域)_.docx
原生JS封装Ajax插件(同域、jsonp跨域)_.pdf
- **发起请求**:使用jQuery的`$.ajax`方法发送GET请求,并设置`dataType`为`"jsonp"`以支持JSONP方式的跨域请求。 - **参数设置**:URL中包含待查询的电话号码,并指定`jsonp`参数为`callback`,这是服务器端期望...
在Web开发中,跨域(Cross-Origin)是一个常见的问题,特别是在使用Ajax进行异步数据交互时。跨域限制是浏览器为了安全原因而设置的一种机制,防止恶意网站通过脚本访问其他站点的数据。本文将深入探讨两种主要的...
【JSONP跨域调用与百度搜索框智能提示】 在Web开发中,由于浏览器的同源策略限制,JavaScript无法直接发起跨域请求。为了解决这个问题,JSONP(JSON with Padding)应运而生。JSONP是一种绕过同源策略的技术,通过...
AJAX与JSONP跨域访问问题小结 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页的技术。它通过使用XMLHttpRequest对象来与服务器进行异步通信。XMLHttpRequest对象...
第25周-第06章节-Python3.5-JSONP跨域请求jQuery方式.avi
JSONP(JSON with Padding)是一种常见的解决JavaScript跨域问题的技术,尤其在jQuery中得到了广泛的应用。由于浏览器的同源策略限制,JavaScript通常无法在不同源之间进行Ajax请求。但JSONP巧妙地利用了HTML中`...
"jsonp跨域请求"可能是服务器返回的示例数据,模拟了JSONP的跨域请求过程。 总结,JSONP和CORS是解决JavaScript跨域问题的两种主要方法,它们各有优缺点,适用于不同的场景。JSONP简单易用,但安全性较低;CORS则更...
**JSONP跨域数据获取** `jqPagination` 提供了`paged` 回调函数,用于在每页切换时获取数据。由于浏览器的同源策略限制,我们通常需要使用JSONP来跨域获取数据。JSONP(JSON with Padding)是一种非官方的解决跨域...