Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript url包含非asciii字符时HTTP 400错误请求_Javascript_Java_Spring_Internet Explorer - Fatal编程技术网

Javascript url包含非asciii字符时HTTP 400错误请求

Javascript url包含非asciii字符时HTTP 400错误请求,javascript,java,spring,internet-explorer,Javascript,Java,Spring,Internet Explorer,这是我的js文件,它将查询字符串参数传递给控制器 function viewSelectedTravelerDetails(taNumber,country,city) { // clearMessageBar(); if(taNumber != "") { var url = "travelerdetailview.htm?requestAction=viewTravelerDetails&taNumber="+taNumber+'

这是我的js文件,它将查询字符串参数传递给控制器

function viewSelectedTravelerDetails(taNumber,country,city)
{
    // clearMessageBar();       
    if(taNumber != "")
    {
        var url = "travelerdetailview.htm?requestAction=viewTravelerDetails&taNumber="+taNumber+'&country='+country+'&city='+city;
        //var url = "travelerdetailview.htm?requestAction=viewTravelerDetails&taNumber="+taNumber;
        var windowName = "traveler_detail";
        var retValue = openNewWindow(url,windowName,"width=1024px,height=768px,center=1, status=0, titlebar=0, margin=0 auto,scrollbars=yes");
    }

}  
这是控制器方法,它处理上述请求的url,并在出现其他记录时返回视图

private ModelAndView handleTravelerDetailView(
      HttpServletRequest  request
    , HttpServletResponse response
    , Object              command
    , BindException       errors
) throws Exception {

    String taNumber = request.getParameter("taNumber");
    String country  = request.getParameter("country");
    String city     = request.getParameter("city");

    logIt.info( "Traveler city(ISO_8859_1):" + city );

    byte[] bytes = city.getBytes( StandardCharsets.ISO_8859_1 );

    city = new String( bytes, StandardCharsets.UTF_8 );

    logIt.info( "Traveler city(UTF-8):" + city );

    TravelerCO travelerViewData = migrateDataService.retrieveTravelerFullData( taNumber, country, city );

    logIt.info( "Traveler city(retrieveTravelerFullData):" + travelerViewData.getTravelerCity() );

    return new ModelAndView( getSuccessView(), getCommandName(), travelerViewData );
}
如果url包含非ascii字符,例如

travelerdetailview.htm?requestAction=viewTravelerDetails&taNumber=TA17/1246&country=&city=Malé


为什么我会收到400个错误的请求?请注意url中的UTF-8字符。

请在问题中包含错误消息,然后缩进代码