jquery - 填充 javascript 变量,然后加载脚本
问题描述
在我的 MVC 应用程序中,我试图在加载脚本之前填充两个 javascript 变量。但是我不断收到我的变量未在加载 javascript 文件之前设置的错误。我一直在兜圈子试图弄清楚这一点。
<script type="text/javascript">
$(document).ready(function () {
var applicationId = "@Constants.SquareUpPaymentInfo.AppID";
var locationId = "@Constants.SquareUpPaymentInfo.LocationID";
jQuery.getScript('https://js.squareup.com/v2/paymentform')
.done(function () {
jQuery.getScript('@Url.Content("~/Content/JS/sqpaymentform.js")')
.fail(function () {
alert('Failed');
})
})
.fail(
function () {
alert('There was a connection issue for the payment form library. ');
});
});
</script>
sqpaymentform.js 加载但它需要设置 applicationID 和 locationID 但它认为由于某种原因没有设置它们但我可以很容易地看到它们是在 chrome 开发人员屏幕中设置的。
解决方案
您将applicationId
and声明locationId
为局部变量。脚本需要它们是全局变量,所以在函数之外声明它们。
<script type="text/javascript">
var applicationId = "@Constants.SquareUpPaymentInfo.AppID";
var locationId = "@Constants.SquareUpPaymentInfo.LocationID";
$(document).ready(function() {
jQuery.getScript('https://js.squareup.com/v2/paymentform')
.done(function() {
jQuery.getScript('@Url.Content("~/Content/JS/sqpaymentform.js")')
.fail(function() {
alert('Failed');
})
})
.fail(
function() {
alert('There was a connection issue for the payment form library. ');
});
});
</script>
推荐阅读
- python - 在 python/selenium 中检查代理
- r - 根据 data.frame 中每组的 xy 坐标计算斜率
- python-3.x - 如何从python中的二维列表中选择一些在第0位具有相同值的项目
- android - 如果 ArrayList 中存在世界,Android SQLite 忽略添加
- java - 将 jdk 源代码添加到我现有的 Java EE Eclipse (Photon)
- java - android显示后如何在自定义对话框中更改视图的可见性
- html - 仅当前一个文件输入不为空时才显示文件输入
- postgresql - 如何连接两个表并创建新列?
- c# - c#中lineInfo不等于多个字符串怎么办?
- javascript - 如何在 Vue JS 2.+ 中使用自定义事件