2016-10-11 60 views
0

我有使用Spring Java的JS問題。我做了一些WebServices,PHP運行平穩,但我需要使用JS訪問它們。我用盡了一切,依然在JS錯誤消耗JSON與JS

function testeJson() { 
var user = { 
    id: 1, 
    name: 'Jonh' 
}; 
var json = JSON.stringify(user); 
$.ajax({ 
    type: "POST", 
    url: "http://localhost:8080/orion/webservice/map/searchCarByUser", 
    traditional: true, 
    data: json, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (data) { 
     alert(data); 
    }, error: function (jqXHR, status) { 
     // error handler 
     console.log(jqXHR); 
     alert('fail' + status.code); 
    } 
}); 
} 

不叫我的服務

下面我的代碼在Java中

@Controller 
@RequestMapping("/map") 
public class MapRest { 

@Autowired 
private MapService mapService; 

@RequestMapping(value = "/searchCarByUser", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) 
public ResponseEntity<RetornoMapa> searchCarByUser(@RequestBody User user) { 
    RetornMap retornMap = new RetornMap(); 
    try { 
     List<Car> list = mapService.search(user); 
     retornMap.setListCar(list); 

    } catch (Exception e) { 
     Log.logError("Error", e); 
    } 
    return new ResponseEntity<>(retornMap, HttpStatus.OK); 
} 

} 

現在我的代碼時,我調用JS函數總是返回狀態等於404.

當我使用Chrome的高級REST客戶端時,通常會調用上面列出的服務。

我想知道你在哪裏我錯了? 應該做什麼?

+0

你確定你輸入的網址是正確的嗎? –

+0

你發送到不同的頁面比頁面?如果需要實施CORS。 – charlietfl

回答

1

從方法@Path註釋刪除第一個斜槓,如果它有一個斜槓開始,這是一個絕對路徑,否則它是相對路徑(在這種情況下,相對於基類'@Path)。

考慮到這一點,如果你打電話http://localhost:8080/orion/webservice/searchCarByUser而不是/map部分,你的currrent JS代碼應該可以工作,你可以測試它。

+0

謝謝你的幫助! –

0

在控制器中取出映射,並保持它在方法

@RequestMapping(value = "/map/searchCarByUser", ..... 

因爲,在@RequestMapping上的方法中的路徑是相對於在類註釋的路徑。從href="..."屬性

@Controller 
@RequestMapping("/map") 
public class MapRest { 

@Autowired 
private MapService mapService; 

@RequestMapping(value = "searchCarByUser", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) 
public ResponseEntity<RetornoMapa> searchCarByUser(@RequestBody User user) { 
//... 

的每種方法的@Path遵循相同的規則,比如說,路徑:

+0

謝謝你的幫助! –