Javascript 为什么当我使用ajax请求时,会出现更多前缀?
我有一个Javascript 为什么当我使用ajax请求时,会出现更多前缀?,javascript,html,ajax,webstorm,Javascript,Html,Ajax,Webstorm,我有一个config.js: function get_config() { var domain = "www.example.net"; var base_url = domain + '/includes/api.php'; return { domain: domain, // domain base_url: base_url, } } 当我使用它时: <script> function login() {
config.js
:
function get_config() {
var domain = "www.example.net";
var base_url = domain + '/includes/api.php';
return {
domain: domain, // domain
base_url: base_url,
}
}
当我使用它时:
<script>
function login() {
console.log("log in");
var configs = get_config()
var base_url = configs.base_url;
console.log(base_url); // there output: `www.example.net/includes/api.php`
var opt = {
action: "ValidateLogin",
email: $("#login_email").text(),
password2: $("#login_password").text(),
responsetype: 'json'
}
$.ajax({
type: "post",
url: base_url,
dataType : "json",
//contentType : "application/json",
data: opt, // JSON.stringify(opt)
success: function (data) {
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR, textStatus, errorThrown);
}
});
}
</script>
您可以看到添加了附加前缀http://localhost:63342/template/
。为什么?
我使用WebStorm运行该项目。简单地说,正如@Andrew所提到的,您的`域'属性不完整 使用
http
或https
协议进行设置:
var domain = "https:\\www.example.net";
由于您的
域
属性缺少协议,因此它不是一个完整的URL。
var domain = "https:\\www.example.net";