我正在尝试使用jQuery将XML发布到Web服务.我收到的回复是我没想到的:
"名称不能以'%'字符开头,十六进制值为0x25.第1行,第65位."
码
$(function() {
var xmlStr = '<?xml version="1.0" encoding="utf-8" ?><TransactionSetup xmlns="obsfucated"><Credentials><AccountID>1043155</AccountID><AccountToken>obsfucated</AccountToken><AcceptorID>obsfucated</AcceptorID></Credentials><Application><ApplicationID>obsfucated</ApplicationID><ApplicationVersion>1.0</ApplicationVersion><ApplicationName>Test</ApplicationName></Application><Terminal><TerminalID>01</TerminalID><CardholderPresentCode>2</CardholderPresentCode><CardInputCode>5</CardInputCode><TerminalCapabilityCode>3</TerminalCapabilityCode><TerminalEnvironmentCode>2</TerminalEnvironmentCode><CardPresentCode>2</CardPresentCode><MotoECICode>1</MotoECICode><CVVPresenceCode>1</CVVPresenceCode></Terminal><Transaction><TransactionAmount>SPI_CartTotalFinal</TransactionAmount></Transaction><TransactionSetup><TransactionSetupMethod>1</TransactionSetupMethod><Embedded>1</Embedded><AutoReturn>1</AutoReturn><ReturnURL>Obsfucated</ReturnURL><CustomCss>body{margin-left:50px;font-family:arial;font-size:large;border:none;}</CustomCss></TransactionSetup></TransactionSetup>',
guid;
$.ajax({
type: 'POST',
url: 'webserviceurl',
contentType: "text/xml",
dataType: "xml",
data: {
Action: $('#Action').val(),
IsAjax: $('#IsAjax').val(),
xml: xmlStr,
},
success: function(response) {
guid = response;
console.log('success' + guid);
},
error: function (jqXHR, tranStatus, errorThrown) {
console.log(
'Status: ' + jqXHR.status + ' ' + jqXHR.statusText + '. ' +
'Response: ' + jqXHR.responseText
);
}
});
Run Code Online (Sandbox Code Playgroud)
更新 - 发布数据
<TransactionSetup xmlns="https://www.obsfucated.com"%3E%20%3CCredentials%3E%20%3CAccountID%3E1223135%3C/AccountID%3E%20%3CAccountToken%3EA9A22221CBE222ED0E287D6F34B0222E0F928E4DDF6C37B945CE05F78054DF95966FC201%3C/AccountToken%3E%20%3CAcceptorID%322228907%3C/AcceptorID%3E%20%3C/Credentials%3E%20%3CApplication%3E%20%3CApplicationID%3E8003%3C/ApplicationID%3E%20%3CApplicationVersion%3E1.0%3C/ApplicationVersion%3E%20%3CApplicationName%3EHostedPayments.CSharp%3C/ApplicationName%3E%20%3C/Application%3E%20%3CTerminal%3E%20%3CTerminalID%3E01%3C/TerminalID%3E%20%3CCardholderPresentCode%3E2%3C/CardholderPresentCode%3E%20%3CCardInputCode%3E5%3C/CardInputCode%3E%20%3CTerminalCapabilityCode%3E3%3C/TerminalCapabilityCode%3E%20%3CTerminalEnvironmentCode%3E2%3C/TerminalEnvironmentCode%3E%20%3CCardPresentCode%3E2%3C/CardPresentCode%3E%20%3CMotoECICode%3E1%3C/MotoECICode%3E%20%3CCVVPresenceCode%3E1%3C/CVVPresenceCode%3E%20%3C/Terminal%3E%20%3CTransaction%3E%20%3CTransactionAmount%3E0.20%3C/TransactionAmount%3E%20%3C/Transaction%3E%20%3CTransactionSetup%3E%20%3CTransactionSetupMethod%3E1%3C/TransactionSetupMethod%3E%20%3CEmbedded%3E1%3C/Embedded%3E%20%3CAutoReturn%3E1%3C/AutoReturn%3E%20%3CReturnURL%3Ehttp://shop.masterssupply.net/webcattest/WebCatPageServer.exe%3C/ReturnURL%3E%20%3CCustomCss%3E%20.tdHeader%20{%20%20%20%20%20background-color:%20%23F8F8F8;%20%20%20%20%20padding:%205px;%20%20%20%20%20font-weight:%20bold;%20}%20.tdLabel%20{%20%20%20%20%20font-weight:%20bold;%20%20%20%20%20text-align:%20right;%20%20%20%20%20padding-right:%2010px;%20%20%20%20%20padding-left:%2010px;%20%20%20%20%20padding-top:%2010px;%20%20%20%20%20padding-bottom:%2010px;%20}%20.tdField%20{%20%20%20%20%20padding-right:%2010px;%20%20%20%20%20padding-left:%2010px;%20%20%20%20%20padding-top:%2010px;%20%20%20%20%20padding-bottom:%2010px;%20}%20.content%20{%20%20%20%20%20padding-left:%2010px;%20%20%20%20%20padding-top:%205px;%20%20%20%20%20padding-bottom:%205px;%20%20%20%20%20border-left-style:%20none;%20%20%20%20%20border-left-width:%20none;%20%20%20%20%20border-left-color:%20none;%20%20%20%20%20border-right-style:%20none;%20%20%20%20%20border-right-width:%20none;%20%20%20%20%20border-right-color:%20none;%20}%20.tdTransactionButtons%20{%20%20%20%20%20text-align:%20left;%20%20%20%20%20padding-top:%205px;%20%20%20%20%20height:%2035px;%20%20%20%20%20border-top-style:%20none;%20%20%20%20%20border-top-width:%20none;%20%20%20%20%20border-top-color:%20none;%20%20%20%20%20vertical-align:%20middle;%20}%20body%20{%20%20%20%20%20margin-left:%20none;%20%20%20%20%20font-family:%20arial;%20%20%20%20%20font-size:%2012px;%20%20%20%20%20border:%20none;%20}%20.buttonEmbedded:link%20{%20%20%20%20%20font-size:%2013px;%20%20%20%20%20font-weight:%20bold;%20%20%20%20%20padding-right:%2010px;%20%20%20%20%20padding-left:%2010px;%20%20%20%20%20padding-top:%204px;%20%20%20%20%20padding-bottom:%204px;%20%20%20%20%20border:%204px%20solid%20%23ce701a;%20%20%20%20%20color:%20%23ffffff;%20%20%20%20%20background-color:%20%23ce701a;%20%20%20%20%20text-decoration:%20none;%20%20%20%20%20border-top-style:%20solid;%20%20%20%20%20border-top-width:%201px;%20%20%20%20%20border-top-color:%20%23ce701a;%20%20%20%20%20border-right-color:%20%23ce701a;%20%20%20%20%20border-left-color:%20%23ce701a;%20%20%20%20%20border-bottom-color:%20%23ce701a;%20}%20.buttonCancel{%20%20%20%20%20border:%201px%20solid%20%23444;%20%20%20%20%20font-weight:%20bold;%20%20%20%20%20color:%20%23fff;%20%20%20%20%20border:%201px%20solid%20%23444;%20%20%20%20%20background-color:%20%237c7c7c;%20%20%20%20%20box-shadow:%20none;%20%20%20%20%20border-radius:%200px;%20%20%20%20%20padding:%206px%2012px;%20%20%20%20%20font-size:%2014px;%20%20%20%20%20line-height:%204.428571;%20%20%20%20%20text-decoration:%20none;%20%20%20%20%20padding-right:%2010px;%20%20%20%20%20padding-left:%2010px;%20%20%20%20%20padding-top:%204px;%20%20%20%20%20padding-bottom:%204px;%20%20%20%20%20border-top-style:%20solid;%20%20%20%20%20border-top-width:%201px;%20%20%20%20%20border-top-color:%20%23838383;%20%20%20%20%20border-right-color:%20%23838383;%20%20%20%20%20border-left-color:%20%23838383;%20%20%20%20%20border-bottom-color:%20%23838383;%20}%20.buttonCancel:link%20{%20%20%20%20%20color:%20%23fff;%20}%20.buttonCancel:visited%20{%20%20%20%20%20color:%20%23fff;%20}%20%3C/CustomCss%3E%20%3C/TransactionSetup%3E%20%3C/TransactionSetup%3E%20
Run Code Online (Sandbox Code Playgroud)
如您所见,数据是url编码的.我认为这是问题所在,但我不知道如何解决它.任何指导都会有所帮助.谢谢!
我试图根据第一个返回对象中的一个字段的值修改作为JSON返回的数据的显示.
以下是成功回调中返回的对象数组的示例:
JSON数据ViewPricing = N.
[{
"ItemCount": 2,
"ViewPricing": "N"
}, {
"ProductID": "4600033",
"ProdMfg": "",
"Desc": "Cambridge IR Driftwood",
"Quantity": 1,
"ExtPrice": " ",
"UnitPrice": " "
}, {
"ProductID": "4600068",
"ProdMfg": "",
"Desc": "Cambridge IR Charcoal Grey",
"Quantity": 1,
"ExtPrice": " ",
"UnitPrice": " "
}, {
"ItemTotExtPrice": ""
}]
Run Code Online (Sandbox Code Playgroud)
JSON数据ViewPricing = Y.
[{
"ItemCount": 1,
"ViewPricing": "Y"
}, {
"ProductID": "60PRO50BL",
"ProdMfg": "",
"Desc": "Duraflo Weatherpro 50 Vent Black",
"Quantity": 1,
"ExtPrice": "$10.95",
"UnitPrice": "$10.95"
}, {
"ItemTotExtPrice": "$10.95"
}]
Run Code Online (Sandbox Code Playgroud)
jQuery的
function getPallet() {
"use strict"; …Run Code Online (Sandbox Code Playgroud) 我在Air Datepicker中选择了一个日期,并尝试将今天的日期与所选日期进行比较,以确定天数的差异.所以,例如,如果今天是2016年11月12日,我选择2016年12月20日,我想得到差异,即9.
我一直遇到以下错误:"end.diff不是函数".
我已经将以下代码删除到了基本要素:
HTML
<form>
<input id="datereq" name="datereq" type="text" class="dateReq" value="" />
</form>
<div id="selected"></div>
Run Code Online (Sandbox Code Playgroud)
JQUERY
var date = new Date(),
disabledDays = [0, 6];
$('.dateReq').datepicker({
dateFormat: 'mm/dd/yyyy',
minDate: new Date(),
language: 'en',
autoClose: true,
onRenderCell: function(date, cellType) {
if (cellType == 'day') {
var day = date.getDay(),
isDisabled = disabledDays.indexOf(day) != -1;
return {
disabled: isDisabled
};
}
},
// Display Appropriate Order Type Options
onSelect: function onSelect(fd, date) {
var now = moment(new Date()).format('MM/DD/YYYY'),
end = fd, …Run Code Online (Sandbox Code Playgroud) 我在使用 Datatables 插件中的 footerCallback 函数时遇到了问题。
我的表列出了历史发票。用户可以选中每个表格行上的复选框,将发票总额添加到同一行的隐藏列中。
我正在使用 footerCallback 函数来总结隐藏列中的值。
问题是,footerCallback 函数仅在初始页面加载时执行。我需要在每个复选框检查后执行该函数,以便将在页脚中显示的总和适当更新。
HTML
<table class="table table-bordered" id="datatable">
<thead>
<tr>
<th>Pay In Full</th>
<th>Pay This Time</th>
<th></th>
</tr>
</thead>
<tfoot>
<tr class="foot">
<th></th>
<th class="text-right">
<h3 class="semibold nm mr5" id="amounttopay">$0.00</h3>
</th>
<th></th>
</tr>
</tfoot>
<tbody>
<tr>
<td class="text-center payinfull">
<input class="payfull" name="SPI_InvPay_Select" type="checkbox" value="109.92" />
</td>
<td class="text-center paythistime">
<div class="input-group"> <span class="input-group-addon">$</span>
<input class="form-control paynow" data-parsley-error-message="Invalid Character" data-parsley-errors-container=".one" data-parsley-pattern="^\d+(,\d{1,2})?$" type="text" />109.92
</div> <span class="one"></span>
</td>
<td class="hidden"></td>
</tr>
<tr>
<td class="text-center …Run Code Online (Sandbox Code Playgroud) 我使用 Dan Grossman 的 DateRangePicker 插件为用户提供一种为我网站上的特定功能选择预定义和自定义日期范围的方法。我已经可以使用它了,但是我有一个无法解决的棘手问题。
当用户单击预定义的日期范围时,引导下拉菜单将关闭。这导致用户必须重新打开日期选择器并单击“应用”按钮才能执行该功能。
我希望下拉菜单在单击预定义的日期范围后保持打开状态。然后,如果用户对范围感到满意,则可以快速单击“应用”按钮。
我已经尝试过以下方法:
$(function() {
$(document).on('click', '.ranges li', function(e) {
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
这有效地防止了下拉菜单关闭,但它不会执行“clickRange”函数以便在适当的输入中设置开始和结束日期。
问题
我在为Parsley.js插件创建自定义验证程序时遇到问题。我想做的是测试值与正则表达式。具体来说,我正在尝试验证密码值至少包含一个大写字母和一个小写字母。验证代码将引发错误,但在满足条件时不会返回true。
的HTML
<form name="Form" id="signupform" method="post" action="#" data-parsley-validate data-parsley-excluded="input[type=button], input[type=submit], input[type=reset], input[type=hidden], [disabled], :hidden">
<label for="password1">New Password <span class="req">*</span></label>
<input name="password" id="password1" type="password" class="password" data-parsley-minlength="1" data-parsley-errors-container=".errorspannewpassinput" data-parsley-required-message="Please enter your new password." data-parsley-mixedcase="^(?=.*[a-z])(?=.*[A-Z]).*$" data-parsley-required/>
<span class="errorspannewpassinput"></span>
<label for="confirm_password1">Confirm Password <span class="req">* </span></label>
<input name="Password_2" id="password2" type="password" class="password" data-parsley-minlength="1" data-parsley-errors-container=".errorspanconfirmnewpassinput" data-parsley-required-message="Please re-enter your new password." data-parsley-equalto="#password1" data-parsley-mixedcase="^(?=.*[a-z])(?=.*[A-Z]).*$" data-parsley-required />
<span class="errorspanconfirmnewpassinput"></span>
<input type="submit" name="submitinfo" id="submitsignup" data-theme="b" style="width:100%;" alt="Sign Up Now" value="Submit Account Request" />
</form>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(function() {
// Set variables …Run Code Online (Sandbox Code Playgroud) 我以对象数组的形式接收json数据.目前,我有6个对象,但是,我想忽略第6个对象.下面的代码示例有效地做到了这一点
但是,向前移动,返回的对象数量会有波动 - 可能是1或者可能是100.因此,如何修改此函数以始终丢弃最后一个对象而不管数组中的对象数量是多少?谢谢!
var topCats = 'myobsfucatedurl?ACATHIER';
$.ajax({
type: 'Get',
url: topCats,
dataType: 'json',
success: function(data) {
$.each(data, function(i, item) {
if (i < 5) {
$('#footer-products').append($('<li>').html('<a href="' + item.MenuLink + '">' + item.MenuText + '</a>'));
} else {
return false;
}
});
},
error: function() {}
});
Run Code Online (Sandbox Code Playgroud) jquery ×7
javascript ×5
arrays ×1
datatables ×1
date ×1
datepicker ×1
momentjs ×1
parsley.js ×1
post ×1
regex ×1
url-encoding ×1
validation ×1