我正在使用jQuery在第3行调用get ajax“Uncaught SyntaxError:Unexpected identifier”。
在这里,我出于保密目的删除了原始网址。但即使我删除了csrHost行,下面的行也会出现同样的错误。
请帮忙。提前谢谢。
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)
}
})
}
答案 0 :(得分:4)
而不是jQuery-slim
您需要使用标准jQuery
。已从ajax
版本中删除jQuery-slim
。
您需要在url
功能之外创建ajax
。它需要object
作为参数,但您在其中使用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)
}
})
}
答案 1 :(得分:0)
Jquery的定义Ajax函数定义为
jQuery.ajax( url [, settings ] )
表示您可以提供网址和设置(可选)。 你试图定义一堆语句,这些语句在这个上下文中是无效的,因此也就是错误。您需要传入规范指定的URL或设置对象。 Jquery Ajax Specification
例如,在您的情况下,以下是正确的方式:
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)
}
})
}
答案 2 :(得分:0)
Hiii其实问题是,你不能在ajax请求中使用var,你可以在$ .ajax之外定义那些变量,然后在里面使用它们,它会起作用。
只是为了让你知道,你不能在json对象中使用var :)
{
"key":"value"
}
这是json的正确方法
$.ajax( { } )
这包含一个json对象,因此不能包含var。
希望它能清除你的疑惑:):)
答案 3 :(得分:0)
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)
}
})
}