2016-11-10 94 views
-6

爲什麼JS window.location的不接受從JSON分配一個變量, 我HAVA檢查了我的JSON和JSON時的console.log存在(myJsonCallback)從插入JavaScript對象的屬性轉換爲字符串

Object { status=1, action="update", id=90} 

這樣的代碼,

if(response.action === "update"){ 
    var id = response.id;window.location.href= 
     "/index.php?r=kasir%2Ftransaction%2Fview&id=id"} 
在瀏覽器

,有點滑稽怎麼把它給了我:

http://10.60.36.79/index.php?r=kasir%2Ftransaction%2Fview&id=id 

請指點

UPDATE

我原來的代碼是這樣的:(。)

. 'if(response.action === "update"){' 
    . ' var id = response.id;' 
    . 'window.location.href= "' . Url::toRoute(['view']) . '&id=${id}"' 
    . '}' 

見,我用點COS的代碼是在PHP中的字符串

請諮詢

+0

僅供參考,這不是JSON,這是一個Javascript對象。它們不是同一個東西 – Liam

回答

4

如果你期望的工作實際上會插入變量,它看起來像這樣:

/index.php?r=kasir%2Ftransaction%2Fview&90=90 

但是你的字符串實際上並不包含任何變量。試試這個:

if(response.action === "update") { 
    var id = response.id; 
    window.location.href = "/index.php?r=kasir%2Ftransaction%2Fview&id=" + id; 
} 

或者,如果你正在使用ES6,您可以使用模板文字

window.location.href = `/index.php?r=kasir%2Ftransaction%2Fview&id=${id}`; 
+2

請閱讀[如何格式化我的代碼塊](http://meta.stackoverflow.com/questions/251361/how-do-i-format-my-code-blocks) – Liam

1

在你的代碼,"/index.php?r=kasir%2Ftransaction%2Fview&id=id",這整條生產線是沒有任何變化的單一字符串。你將不得不將這個字符串連接到實際的id。

像這樣:

if(response.action === "update"){ 
    var id = response.id; 
    window.location.href = "/index.php?r=kasir%2Ftransaction%2Fview&id=" + id ; 
} 
0

感謝所有,是我不好, 也許不會睡覺,直到今日早盤。

這是代碼

. 'if(response.action === "update"){' 
     . ' var id = response.id;' 
     . 'window.location.href= "' . Url::toRoute(['view']) . '&id=" + id' 
    . '}' 

請再升

相關問題