Javascript jQuery ajax变量行-未捕获的语法错误:意外标识符
我使用jQuery调用get-ajax Uncaught SyntaxError:第3行的意外标识符 在这里,出于保密目的,我删除了原始URL。但是即使我删除了csrHost行,下面的行也会遇到相同的错误 请帮忙。提前谢谢Javascript jQuery ajax变量行-未捕获的语法错误:意外标识符,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用jQuery调用get-ajax Uncaught SyntaxError:第3行的意外标识符 在这里,出于保密目的,我删除了原始URL。但是即使我删除了csrHost行,下面的行也会遇到相同的错误 请帮忙。提前谢谢 function getCSR(){ $.ajax ({ var csrHost = "https://example.com/jsp/csr.jsp?"; var commonname = '&'+'commonname'+'
function getCSR(){
$.ajax ({
var csrHost = "https://example.com/jsp/csr.jsp?";
var commonname = '&'+'commonname'+'='+$('#csrName').val().toUpperCase();
var company = '&'+'org'+'='+$('#csrCom').val().toUpperCase();
var city = '&'+'locality'+'='+$('#csrCity').val().toUpperCase();
var state = '&'+'state'+'='+$('#csrState').val().toUpperCase();
var country = '&'+'country'+'='+$('#csrCountry').val().toUpperCase();
var OrgUnit = '&'+'commonname'+'='+$('#csrOU').val().toUpperCase();
var keysize = '&'+'keysize'+'='+2048;
url: csrHost+commonname+company+city+state+country+OrgUnit+keysize,
type: "GET",
//data: {latlng:40.714224,-73.961452}
//contentType: "application/json; charset=utf-8",
success: function(csr){
var textareaResult = $('#textarea1')
textareaResult.html(csr)
}
})
}
您需要使用标准jQuery,而不是jqueryslim。ajax已从jqueryslim版本中删除
您需要在ajax函数之外创建url。它接受一个对象作为参数,但在其中使用var
function getCSR() {
var csrHost = "https://example.com/jsp/csr.jsp?";
var commonname = '&' + 'commonname' + '=' + $('#csrName').val().toUpperCase();
var company = '&' + 'org' + '=' + $('#csrCom').val().toUpperCase();
var city = '&' + 'locality' + '=' + $('#csrCity').val().toUpperCase();
var state = '&' + 'state' + '=' + $('#csrState').val().toUpperCase();
var country = '&' + 'country' + '=' + $('#csrCountry').val().toUpperCase();
var OrgUnit = '&' + 'commonname' + '=' + $('#csrOU').val().toUpperCase();
var keysize = '&' + 'keysize' + '=' + 2048;
$.ajax ({
url: csrHost + commonname + company + city + state + country + OrgUnit + keysize,
type: "GET",
//data: { latlng: 40.714224, -73.961452 },
//contentType: "application/json; charset=utf-8",
success: function(csr) {
var textareaResult = $('#textarea1');
textareaResult.html(csr)
}
})
}
你也可以尝试这种方法,我认为它更漂亮
function getCSR() {
var csrHost = "https://example.com/jsp/csr.jsp?";
var keyValues = [
{ name: 'commonname', value: $('#csrName').val() },
{ name: 'org', value: $('#csrCom').val() },
{ name: 'locality', value: $('#csrCity').val() },
{ name: 'state', value: $('#csrState').val() },
{ name: 'country', value: $('#csrCountry').val() },
{ name: 'commonname', value: $('#csrOU').val() },
{ name: 'keysize', value: '2048' },
];
var queryString = keyValues.map(item => `${item.name}=${item.value.toUpperCase()}`)
.join('&');
$.ajax ({
url: csrHost + queryString,
type: "GET",
//data: { latlng: 40.714224, -73.961452 },
//contentType: "application/json; charset=utf-8",
success: function(csr) {
var textareaResult = $('#textarea1');
textareaResult.html(csr)
}
})
}
jqueryajax函数的定义如下
jQuery.ajax( url [, settings ] )
这意味着您可以提供url和可选设置。
您正试图定义一组语句,这些语句在此上下文中无效,因此会出现错误。您需要传入规范指定的URL或设置对象。
例如,在您的情况下,以下是正确的方法:
function getCSR() {
var csrHost = "https://example.com/jsp/csr.jsp?";
var commonname = '&' + 'commonname' + '=' + $('#csrName').val().toUpperCase();
var company = '&' + 'org' + '=' + $('#csrCom').val().toUpperCase();
var city = '&' + 'locality' + '=' + $('#csrCity').val().toUpperCase();
var state = '&' + 'state' + '=' + $('#csrState').val().toUpperCase();
var country = '&' + 'country' + '=' + $('#csrCountry').val().toUpperCase();
var OrgUnit = '&' + 'commonname' + '=' + $('#csrOU').val().toUpperCase();
var keysize = '&' + 'keysize' + '=' + 2048;
$.ajax ({
url: csrHost + commonname + company + city + state + country + OrgUnit + keysize,
type: "GET",
//data: { latlng: 40.714224, -73.961452 },
//contentType: "application/json; charset=utf-8",
success: function(csr) {
var textareaResult = $('#textarea1');
textareaResult.html(csr)
}
})
}
您需要从ajax函数中提取变量的创建。像这样:
function getCSR(){
var csrHost = "https://example.com/jsp/csr.jsp?",
commonname = '&'+'commonname'+'='+$('#csrName').val().toUpperCase(),
company = '&'+'org'+'='+$('#csrCom').val().toUpperCase(),
city = '&'+'locality'+'='+$('#csrCity').val().toUpperCase(),
state = '&'+'state'+'='+$('#csrState').val().toUpperCase(),
country = '&'+'country'+'='+$('#csrCountry').val().toUpperCase(),
OrgUnit = '&'+'commonname'+'='+$('#csrOU').val().toUpperCase(),
keysize = '&'+'keysize'+'='+2048,
url = csrHost+commonname+company+city+state+country+OrgUnit+keysize
$.ajax ({
url: url,
type: "GET",
success: function(csr){
var textareaResult = $('#textarea1')
textareaResult.html(csr)
}
})
}
关于JQuery Ajax函数的更多信息。Hiii实际上问题是,您不能在Ajax请求中使用var,您可以在$.Ajax之外定义这些变量,然后使用其中的变量,这样就可以了 我想让您知道,您不能在json对象中使用var:
{
"key":"value"
}
这是json的正确方式
$.ajax( { } )
它保存一个json对象,因此不能包含var
希望它能消除您的疑虑::谢谢。但是现在我得到了另一个错误uncaughttypeerror:$.ajax不是$.ajax中的函数{line.你添加了jQuery吗?关于你的$?我的html的末尾使用code.jQuery.com/jQuery-3.2.1.slim.js>作为我的script.js,它只是上面的jQuery代码。$.ajax从slim版本中删除了。使用标准的jQueryTank你这么多,它现在可以工作了。虽然我仍然有错误,但我认为需要为此创建另一篇帖子。。
function getCSR(){
var csrHost = "https://example.com/jsp/csr.jsp";
var param = {
commonname: $('#csrName').val().toUpperCase(),
org: $('#csrCom').val().toUpperCase(),
locality: $('#csrCity').val().toUpperCase(),
state: $('#csrState').val().toUpperCase(),
country: $('#csrCountry').val().toUpperCase(),
commonname: $('#csrOU').val().toUpperCase(),
keysize:2048
};
$.ajax ({
url: csrHost,
type: "GET",
data: param,
//contentType: "application/json; charset=utf-8",
success: function(csr){
var textareaResult = $('#textarea1')
textareaResult.html(csr)
}
})
}