让我们假设我需要使用文件名中的相对路径而不使用 @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder,
final int position) {
if (holder instanceof CardHolder) {
final CardHolder cardHolder = (CardHolder) holder;
cardHolder.rootview.setOnClickListener(this);
cardHolder.rootview.setTag(position);
cardHolder.rootview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//get last itemview in adapter,but preView isnot match the
//position,it is the visibable views on screen
View preView = mLinearLayoutManager.getChildAt(preIndex);
//change the datasource
mData.getResult().getCardList().get(preIndex).setOpen(false);
//update item
notifyItemChanged(preIndex);//when the item is out of screen,
//this line will cause crashes
preIndex = position;
}
});
}
来制作AJAX请求(由于客户特定的请求)。
所以,在一个虚构的页面上:windows.location
,我需要做类似的事情:
$.get( "./data/mydata.json", function( data ) { .... });
这样做请求指向:mywebsite/myfolder/mypagename
,但我需要它指向:mywebsite/myfolder/data/mydata.json
有什么办法吗?我也试过mywebsite/myfolder/mypagename/data/mydata.json
,但似乎是"~/data/mydata.json"
答案 0 :(得分:0)
正如我所要求的那样似乎无法实现,我在发送任何ajax调用之前在网址上使用了带有验证正则表达式的windows.location.pathname:
if (! ( /([<>]|javascript:)/.test(decodeURIComponent(apiUrl)) )) { ... do the call } else { window.location.href = '/404'; }
希望它可以帮助别人