jQuery ajax var line - 未捕获的SyntaxError:意外的标识符

时间:2017-11-27 07:52:06

标签: javascript jquery ajax

我正在使用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)

        }
    })
}

4 个答案:

答案 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)
        }
    })
}