由于我在我的网站中使用SSL连接,我正在尝试检查用户打开网址(http/https)的端口:
if (isset($_SERVER['HTTPS']) &&
($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) ||
isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$protocol = 'https://';
}
else {
$protocol = 'http://';
}
它非常适合 css 和 js 等外部文件的链接。
但是,通过检查端口,我无法使用 ajax 发布一些内容。
<input type='submit' value="LOGIN" onclick="return checkLogin()">
function checkLogin() {
var cUsername = $('[id$=userEmail]').val();
var cPassword = $('[id$=userPassword]').val();
var cartItems = cartItemsToJSON();
var dataString = "username=" + cUsername + "&password=" + cPassword + "&cartItems=" + cartItems;
$.ajax({
type: "POST",
url: "<?php echo $protocol; ?>"+location.hostname+" /member/actions/config-login2.php",
data: dataString,
cache: true,
success: function(html) {
当我单击登录时,它不会运行到'config-lgin2.php,但它只在浏览器上显示我的凭据。
我想知道我是否在这里错过了什么。请帮忙。提前谢谢。
不要使用完全限定的 URL,请尝试使用相对 URI。
而不是将网址指定为 ....
url: "<?php echo $protocol; ?>"+location.hostname+" /member/actions/config-login2.php"
指定为,
url: "member/actions/config-login2.php"
在 AJAX 调用中
如果它不起作用,JSONP 是一个不错的选择来寻找
请查看此帖子