当我从UI调用它时,我的休息调用触发了两次。 我正在使用Java V8和AngularJS v1.6 这是服务
import com.project123.temp.component.ImportFileComponent;
@Component
@Path("project123/ImportFileService")
@JsonIgnoreProperties(ignoreUnknown = true)
public class ImportFileService {
@Autowired
private ImportFileComponent ImportFileComponent;
@Path("/invoiceImportService")
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
@Transactional
public Response validateImportFile(File filename){
ImportFileComponent.validateImportFile(filename);
return null;
}
}
这是我的控制器函数inangularJS
$("#importInvoice").on('change', prepareUpload);
function prepareUpload(event){
files = event.target.files;
console.log(files[0]);
$http({
method : 'POST',
url : 'project123/ImportFileService/invoiceImportService',
data : files[0]
}).then(function success(response){
console.log(response);
}, function error(response){
console.log(response);
});
}
谁能帮助理解我为什么? 如果您需要进一步的数据,我可以提供。
$("#importInvoice").on('change', prepareUpload);
而不是这个代码块...我替换为
$("#importInvoice").off('change').on('change', prepareUpload);
现在它的工作绝对正常...没有进行其他更改。它似乎是jquery。