由于我在网站上使用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,但它只在浏览器上显示我的凭证。
我想知道我在这里是否遗漏了什么。请帮忙。提前致谢。
答案 0 :(得分:0)
请勿使用完全限定的网址,请尝试使用相对URI。
而不是将网址指定为....
url: "<?php echo $protocol; ?>"+location.hostname+" /member/actions/config-login2.php"
指定为,
url: "member/actions/config-login2.php"
在AJAX调用中
如果它不起作用,JSONP是寻找
的不错选择请查看此post