Javascript jQuery ajax变量行-未捕获的语法错误:意外标识符

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'+'

我使用jQuery调用get-ajax Uncaught SyntaxError:第3行的意外标识符

在这里,出于保密目的,我删除了原始URL。但是即使我删除了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)

        }
    })
}
您需要使用标准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)
        }
    })
}