1.post
function deleCustomsVender(cvId) {
var url = "$popSellerAdminModule.getTarget("/customs/shop/customs_deleCustomsVender.action?_charset_=utf-8")";
if(confirm("确定要解除海关对该拍卖店铺的管理授权?解除后该店铺将不受海关账号控制。")) {
jQuery.post(url
,{
"customsVenderId":cvId
} , function (data) {
if(data!="false"){
alert("解除授权成功!");
$("#deleCustomsVender_"+cvId).hide();
}else {
alert("解除授权失败,请稍后再试");
}
}, 'text');
}
}
function operateOpenStatus(openStatus,customsId) {
var url = "$popSellerAdminModule.getTarget("/customs/customs_operateOpenStatus.action?_charset_=utf-8")";
var msg = "";
if (openStatus == 1) {
msg = "停用海关不会自动停用关联的店铺,关联店铺需要单独处理,确定要停用该海关吗?";
} else if (openStatus == 2) {
msg = "确定启用该海关账号?";
}
if(confirm(msg)) {
jQuery.post(url
,{
"customsId":customsId,
"openStatus":openStatus
} , function (data) {
if(data!="false"){
alert("操作成功!");
window.location.reload(true);
}else {
alert("操作失败,请稍后再试");
}
}, 'text');
}
}
protected javax.servlet.http.HttpServletResponse response;
@HrmPrivilege(code = HrmPurviewConstants.POP_MAN_CUSTOMS_ACCOUNT_MANAGE_ADD)
public void deleCustomsAccount() throws IOException {
String pin = WebHelper.getPin();
if (StringUtils.isNotBlank(pin)){
response.getWriter().write(customsService.deleCustomsAccountByAccountId(accountId)==0?"false":pin);
}else{
response.getWriter().write("false");
}
}
2.ajax
jQuery("#shopform1").validate({
rules: {
"customsFormBean.customsName": {
required: true,
zh_CnLength:100
//maxlength: 50
},
"customsFormBean.licenseNo": {
//required: true,
validLicenseNo:true,
maxlength: 50
},
"customsFormBean.principal":{
required: true
},
"customsFormBean.remark": {
zh_CnLength:200
}
},
messages: {
"customsFormBean.customsName": {
required: "请输入海关名称"
},
"customsFormBean.licenseNo": {
// required: "请输入营业执照编号",
validLicenseNo:"请输入正确的营业执照编号"
},
"customsFormBean.principal":{
required: "请选择招商人员"
}
},
submitHandler: function (form) {
var customsName = jQuery("[name='customsFormBean.customsName']").val();
var licenseNo = jQuery("[name='customsFormBean.licenseNo']").val();
var principal = jQuery("[name='customsFormBean.principal']").val();
var customsId = jQuery("[name='customsId']").val();
var remark = jQuery("[name='customsFormBean.remark']").val();
jQuery.blockUI({message:'提交中,请稍候...'});
jQuery.ajax({
type: "POST",
dataType: "json",
url: '$popSellerAdminModule.getTarget("/json/updateCustoms/doUpdateCustoms.action?_charset_=utf-8")',
data: {"customsFormBean.customsName": customsName, "customsFormBean.licenseNo": licenseNo,
"customsFormBean.principal": principal, "customsId": customsId,
"customsFormBean.remark":remark
},
success: function (data) {
jQuery.unblockUI();
if(data.succeed) {
alert("修改成功!");
window.location.reload(true);
}else{
alert(data.errorContent)
}
},
error:function(data){
jQuery.unblockUI();
alert("修改失败!");
}
});
}
});
===============================================================
jQuery(document).ready(function() {
jQuery("#edit1").click(function() {
jQuery('#div1').attr('class', 'hide');
jQuery('#shopform1').attr('class', '');
});
/**
* 计算含有中文的字符串长度
*/
jQuery.validator.addMethod("zh_CnLength",function(value,element,param){
value = value.replace(/(^\s*)|(\s*$)/g, "");
String.prototype.getBytes = function() {
var cArr = this.match(/[^\x00-\xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
}
var length = value.getBytes();
if(length>param){
return false;
}
return true;
},"请输入一个长度最多是 {0} 的字符串,一个中文算两个长度");
/**
* 自定义验证营业执照编号
*/
jQuery.validator.addMethod("validLicenseNo", function (value, element) {
var pattern = new RegExp("^[0-9]{15}$");
return this.optional(element) || (pattern.test(value));
},"请输入正确的营业执照编号");
jQuery("#shopform1").validate({
rules: {
"customsFormBean.customsName": {
required: true,
zh_CnLength:100
//maxlength: 50
},
"customsFormBean.licenseNo": {
//required: true,
validLicenseNo:true,
maxlength: 50
},
"customsFormBean.principal":{
required: true
},
"customsFormBean.remark": {
zh_CnLength:200
}
},
messages: {
"customsFormBean.customsName": {
required: "请输入海关名称"
},
"customsFormBean.licenseNo": {
// required: "请输入营业执照编号",
validLicenseNo:"请输入正确的营业执照编号"
},
"customsFormBean.principal":{
required: "请选择招商人员"
}
},
submitHandler: function (form) {
var customsName = jQuery("[name='customsFormBean.customsName']").val();
var licenseNo = jQuery("[name='customsFormBean.licenseNo']").val();
var principal = jQuery("[name='customsFormBean.principal']").val();
var customsId = jQuery("[name='customsId']").val();
var remark = jQuery("[name='customsFormBean.remark']").val();
jQuery.blockUI({message:'提交中,请稍候...'});
jQuery.ajax({
type: "POST",
dataType: "json",
url: '$popSellerAdminModule.getTarget("/json/updateCustoms/doUpdateCustoms.action?_charset_=utf-8")',
data: {"customsFormBean.customsName": customsName, "customsFormBean.licenseNo": licenseNo,
"customsFormBean.principal": principal, "customsId": customsId,
"customsFormBean.remark":remark
},
success: function (data) {
jQuery.unblockUI();
if(data.succeed) {
alert("修改成功!");
window.location.reload(true);
}else{
alert(data.errorContent)
}
},
error:function(data){
jQuery.unblockUI();
alert("修改失败!");
}
});
}
});
});
<package name="jsonAddCustoms" namespace="/json/addCustoms" extends="json-protected-default">
<action name="*" method="{1}" class="com.jd.pop.customs.web.action.CustomsAction">
<result name="doAddCustoms" type="json">
<param name="ignoreHierarchy">true</param>
<param name="excludeNullProperties">true</param>
<param name="root">baseOperateJson</param>
</result>
</action>
</package>
<!-- 处理json方法中需要获取到当前登录,则用此package-->
<package name="json-protected-default" extends="illegalBase">
<result-types>
<result-type name="json" class="org.apache.struts2.json.JSONResult"/>
</result-types>
<interceptors>
<interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>
</interceptors>
</package>
<package name="illegalBase" extends="struts-default">
<result-types>
<result-type name="velocity" class="com.jd.common.struts.velocity.VelocityLayoutResult" default="true" />
</result-types>
<interceptors>
<interceptor name="monitoring" class="net.bull.javamelody.StrutsInterceptor"/>
<interceptor name="loginContext" class="com.jd.pop.admin.web.interceptor.AdminLoginContextInterceptor"/>
<interceptor-stack name="strutsDefaultStack">
<interceptor-ref name="monitoring"/>
<interceptor-ref name="exception" />
<interceptor-ref name="alias" />
<interceptor-ref name="servletConfig" />
<interceptor-ref name="i18n" />
<interceptor-ref name="prepare" />
<interceptor-ref name="chain" />
<interceptor-ref name="debugging" />
<interceptor-ref name="scopedModelDriven" />
<interceptor-ref name="modelDriven" />
<interceptor-ref name="fileUpload">
<param name="maximumSize">4194304</param><!--单个文件最大4M-->
<param name="allowedTypes">image/x-png,image/png,image/gif,image/jpeg,image/jpg,image/pjpeg,application/x-shockwave-flash,application/octet-stream,application/vnd.ms-excel,application/msword,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/zip</param>
<param name="allowedExtensions">jpg,jpeg,png,gif,txt,swf,xls,xlsx,doc,docx,zip,pdf</param>
</interceptor-ref>
<interceptor-ref name="checkbox" />
<interceptor-ref name="multiselect" />
<interceptor-ref name="staticParams" />
<interceptor-ref name="actionMappingParams" />
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*,.*\\u0023.*</param>
</interceptor-ref>
<interceptor-ref name="conversionError" />
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
<interceptor-stack name="illegalInterceptor">
<interceptor-ref name="strutsDefaultStack" />
<interceptor-ref name="loginContext" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="illegalInterceptor" />
<global-results>
<result name="exception">/WEB-INF/vm/error.vm</result>
<result name="input">/WEB-INF/vm/paramError.vm</result>
<result name="error">/WEB-INF/vm/error.vm</result>
<result name="illegal">/WEB-INF/vm/illegal.vm</result>
<result name="login_error">/WEB-INF/vm/loginerror.vm</result>
<result name="login" type="redirect">${loginUrl}</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="exception" />
</global-exception-mappings>
</package>
private BaseOperateJson baseOperateJson;
public BaseOperateJson getBaseOperateJson() {
return baseOperateJson;
}
public void setBaseOperateJson(BaseOperateJson baseOperateJson) {
this.baseOperateJson = baseOperateJson;
}
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import java.io.Serializable;
/**
* BaseOperateJson
* @author @shaodong
*/
@SuppressWarnings("unused")
public class BaseOperateJson implements Serializable{
private boolean succeed;
private String errorCode;
private String errorContent;
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getErrorContent() {
return errorContent;
}
public void setErrorContent(String errorContent) {
this.errorContent = errorContent;
}
public boolean isSucceed() {
return succeed;
}
public void setSucceed(boolean succeed) {
this.succeed = succeed;
}
public BaseOperateJson() {}
public BaseOperateJson(boolean succeed, String errorCode, String errorContent) {
this.succeed = succeed;
this.errorCode = errorCode;
this.errorContent = errorContent;
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
}
@HrmPrivilege(code = HrmPurviewConstants.POP_MAN_CUSTOMS_MANAGE_DO_UPDATE)
public String doUpdateCustoms(){
baseOperateJson = new BaseOperateJson();
try{
Result result = customsService.updateCustoms(customsFormBean, customsId);
if(result.getSuccess()){
baseOperateJson.setSucceed(true);
String customsId=String.valueOf(result.get("customsId"));
baseOperateJson.setErrorCode(customsId);
}else{
baseOperateJson.setSucceed(false);
String errorCode=result.getResultCode();
baseOperateJson.setErrorCode(errorCode);
baseOperateJson.setErrorContent(getText(errorCode));
log.error(CustomsAction.class.getSimpleName()+"修改海关信息失败"+baseOperateJson+getText(errorCode));
}
}catch (Exception ex){
baseOperateJson.setSucceed(false);
String errorCode= ResultCode.SYSTEM_ERROR;
baseOperateJson.setErrorCode(errorCode);
baseOperateJson.setErrorContent(getText(errorCode));
log.error(CustomsAction.class.getSimpleName()+"修改海关信息失败"+baseOperateJson,ex);
}
return "doUpdateCustoms";
}
@HrmPrivilege(code = HrmPurviewConstants.POP_MAN_CUSTOMS_MANAGE_ADD)
public String doAddCustoms() {
baseOperateJson = new BaseOperateJson();
try{
Result result = customsService.createCustoms(customsFormBean);
if(result.getSuccess()){
baseOperateJson.setSucceed(true);
String customsId=String.valueOf(result.get("customsId"));
baseOperateJson.setErrorCode(customsId);
}else{
baseOperateJson.setSucceed(false);
String errorCode=result.getResultCode();
baseOperateJson.setErrorCode(errorCode);
baseOperateJson.setErrorContent(getText(errorCode));
log.error(CustomsAction.class.getSimpleName()+"创建海关失败"+baseOperateJson+getText(errorCode));
}
}catch (Exception ex){
baseOperateJson.setSucceed(false);
String errorCode= ResultCode.SYSTEM_ERROR;
baseOperateJson.setErrorCode(errorCode);
baseOperateJson.setErrorContent(getText(errorCode));
log.error(CustomsAction.class.getSimpleName()+"创建海关失败"+baseOperateJson,ex);
}
return "doAddCustoms";
}
================================================
jquery.getJson跨域调用及防止重复提交JS
function applyCheckAuth(selectId, opTime){ // var url = "/sellerauth/sellerauth_applyCheckAuth.action?opTime="+opTime; var url = "/json/sellerauth/sellerauth_applyCheckAuth.action?opTime="+opTime; if (!checkSubmit()) { return false; } // if(confirm("确定申请考核认证吗?")) // { jQuery.getJSON(url, function(json) { checkSubmitFlg = false; // alert("申请考核认证成功!!"); window.location.href = "/sellerauth/sellerauth_sellerAuthList.action"; // if (json != null && json != '') { // replaceDivData(selectId, json); // } }); // } //var url = "/json/sellerauth/sellerauth_applyCheckAuth.action?opTime="+opTime; //jQuery.getJSON(url, function(json) { // if (json != null && json != '') { // replaceDivData(selectId, json); // } //}); }
var checkSubmitFlg = false; function checkSubmit() { if (checkSubmitFlg == true) { return false; } checkSubmitFlg = true; return true; }
var replaceDivData = function(selectId,divJsonObj){ var jqId = "#"+selectId; if(jQuery(jqId).length=1){ jQuery.each(divJsonObj, function(index, entry) { if(entry.name!=undefined){ jQuery(jqId).html("<option value='"+entry.id+"'>"+entry.name+"</option>"); } }) } }
相关推荐
它可以处理各种类型的 Ajax 请求,并允许开发者自定义请求的各个方面。 - **.load()**、**$.get()** 和 **$.post()**:这些方法是基于 $.ajax() 进一步封装而成的,它们分别适用于不同的场景: - **.load()**:适合...
以上就是使用jQuery AJAX向后台传递数组参数的完整过程,包括JSON序列化和反序列化的处理。请注意,这只是一个基础示例,实际项目中可能需要考虑更多的错误处理和数据验证。同时,不同的后端框架可能有内置的JSON...
对于需要更复杂配置的Ajax交互,或者需要对请求和响应进行更细致的处理时,则应使用jQuery.ajax()方法。此外,在使用jQuery Ajax时,也应考虑不同浏览器对于Ajax请求的支持情况,尤其是在处理跨域请求时。
1. jQuery的AJAX方法:在文章中,通过使用jQuery提供的$.ajax()方法来发起异步请求。这个方法允许我们指定请求的类型(如GET或POST)、URL地址、传递的数据以及当请求成功时如何处理返回的数据。 2. 后台数据的返回...
本文将详细解析使用jQuery和ajax技术来实现动态添加表格行(tr)和单元格(td)功能的方法。 #### 1. 理解jQuery和ajax技术 **jQuery**是一个快速、简洁的JavaScript库,它封装了许多常用的功能,简化了JavaScript...
除了`$.ajax()`,jQuery还提供了其他更简单的AJAX方法,如`$.get()`和`$.post()`,它们是`$.ajax()`的简写形式。例如,如果我们要执行一个GET请求,可以这样写: ```javascript $.get('服务器URL', function...
jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和Ajax交互。AJAX(Asynchronous JavaScript and XML)则允许我们在不刷新整个页面的情况下与服务器进行异步数据交换,从而提高用户体验。 1. **...
1. `$.ajax()`: 这是jQuery中最基础的Ajax函数,它可以接受一个包含各种选项的对象作为参数,如URL、类型(GET或POST)、数据、回调函数等。例如: ```javascript $.ajax({ url: 'http://example.com/api/data', ...
其中,使用jQuery的Ajax功能来读取JSON文件内容是前端开发中的常见需求,尤其在动态加载数据、实现异步交互方面发挥着重要作用。 ### 标题解析:“jQuery ajax读取json文件内容” 此标题直截了当,明确指出将通过...
// 2 使用$.ajax发送fd // 需要指定两个属性 // - processData : false // - contentType : false $.ajax({ method : 'POST', url : '/ajax_Day5/datas03.php', data : fd, success : function (data) { ...
虽然原生JavaScript提供了强大的功能来实现Ajax通信,但在实际开发中,开发者往往更倾向于使用像jQuery这样的库来简化Ajax请求的操作。jQuery提供了一系列简洁的API来处理Ajax请求,极大地降低了复杂性并提高了开发...
本文主要介绍了 PHP 基于 jQuery 的 Ajax 技术传递 JSON 数据方法,以完整实例形式分析了 PHP 基于 jQuery 的 Ajax 无刷新提交数据实现方法。下面是详细的知识点说明: HTML 页面 在 HTML 页面中,我们首先引入 ...
在查看源代码时,可以学习到如何组织Java类、如何编写REST API、如何使用jQuery进行DOM操作以及如何构建Ajax请求等具体技术细节。 总结起来,这个【项目组管理系统】结合了Java的稳定性和强大的功能,利用JSON进行...
【jQuery无限级ajax加载菜单代码】是一个用于创建动态、多级菜单的JavaScript解决方案,它利用了流行的jQuery库和Ajax技术。这个代码的核心在于其能够异步地从服务器获取JSON数据,然后根据这些数据构建出一个可扩展...
总结来说,Ajax和jQuery的结合使得Web开发更加高效,通过理解其工作原理和使用方法,开发者可以创建出更具交互性和用户体验的网页应用程序。通过深入学习《AjaxJquery入门》,你将能够熟练地运用这些技术来提升你的...
`jQuery.ajax()` 是最全面的 AJAX 函数,允许自定义各种选项。以下是一些主要参数: - **url**: 发送请求的地址。 - **type**: 请求方式,默认为 "GET",也可使用 PUT、DELETE 等。 - **timeout**: 设置请求超时时间...
此外,可以使用jQuery的`$.ajaxSetup()`来全局配置Ajax请求的默认行为,如超时、缓存策略等。 总的来说,这个简单的Struts2 + jQuery的Ajax例子展示了如何利用这两者进行动态数据交互。通过这样的集成,开发者可以...
在前端,我们可以使用jQuery的$.ajax()方法或者更简单的$.load()、$.get()、$.post()方法来发起Ajax请求。在本项目中,当用户滚动到页面底部时,触发Ajax请求,向服务器请求更多的数据。服务器响应后,这些新数据会...