我正在前端使用KnockoutJS和后端使用PayPal-PHP-SDK构建PayPal结账表单.
结帐通过AJAX在json中发送购物车数据.没有发送敏感用户数据,只有itemsID,项目选项和项目金额.服务器上的PHP具有所有匹配的价格,清理收到的json并总计总数,使用PayPal API检入并返回批准URL.用户被重定向到该URL.
结帐时的AJAX调用:
$.ajax({
url: "process.php",
type: 'POST',
data: jsonData,
success: function(data){
location = data;
},
error:function(){
$("#status").html('There is error while submit');
}
});
Run Code Online (Sandbox Code Playgroud)
这足够安全吗?处理ajax调用和PHP时,还有哪些常见的最佳实践?
我正在使用这样的Bootstrap 3 Tabs:
<ul class="nav nav-pills nav-justified">
<li><a href="#tab-1t" data-toggle="tab"></a></li>
<li class="active"><a href="#tab-2" data-toggle="tab"></a></li>
<li><a href="#tab-3" data-toggle="tab"></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
由于选项卡内容变得很长,我想添加一个以选项卡内容为中心的滚动效果.
我正在使用此片段在网站上的其他滚动效果:
$('a.scroll').on('click', function(e){
var href = $(this).attr('href');
$('html, body').animate({
scrollTop:$(href).offset().top
},'slow');
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
当我将"滚动"类添加到选项卡链接时,我得到了所需的效果,但只在已经有效的选项卡上.使用非活动标签需要两次点击.
我应该改变什么?
更新:
我得到了一个“大”类型(在这种情况下由中继生成),并且有很多嵌套。现在我需要访问嵌套类型。
示例:我将如何访问此处的“某物”?
/* @flow */
type nested = {
anArray: $ReadOnlyArray<{something: "BLA" | "TEST"}>
}
type nestedString = $PropertyType<
$PropertyType<nested, 'anArray'>,
'something'
>;
const text: nestedString = "TEST"
Run Code Online (Sandbox Code Playgroud)
链接到 Flow REPL(需要切换到 0.64,因为 0.65 目前不起作用):