我正在與jquery/JS和PHP進行簡單的客戶機/服務器通信。它工作正常,直到數據中包含'.'
。jquery/js和php通信問題
試着用下面的標題:
asdf-wq1 --> works
test1 --> works
bigip1.local --> '.' is replaced with '_'
我已經添加了escape()
功能,我的代碼,但結果是一樣的。
function xy(){
for (var i = 0; i < nodes.length; i++) {
var xy = escape(nodes[i].title) +"=" +escape(nodes[i].translate.x + "/" + nodes[i].translate.y);
$.ajax({
url: 'save_layout.php',
data: xy,
dataType: "text",
type: 'post',
success: function(output) {
$("#output").html(output);
},
error: function (response, status, error) {
alert("error" + response.responseText);
}
});
}
}
PHP:
foreach($_POST as $name=>$value) {
echo "$name $value \n";
}
Firebug的輸出請求:
POST http /frontend/save_layout.php 200 OK 186ms jquery....min.js (Zeile 4) HeaderPostAntwortHTML Parameterapplication/x-www-form-urlencoded bigip1.local 470/390 Quelle bigip1.local=470/390
Firebug的輸出(響應):
bigip1_local 470/390
正如你所看到的 - 它似乎被送到到服務器正確,但在服務器上就像讀到我們的$_POST
- '.'
是一個'_'
突然。
希望有人能幫助我這裏!
嘗試讓jQuery進行編碼:var xy = {}; xy [nodes [i] .title] = nodes [i] .translate.x +「/」+ nodes [i] .translate.y;'這樣jQuery就會爲您發佈帖子正文。 – Chad
嗨! THX爲即時響應 - 但不幸的是我仍然面臨同樣的問題...我可以看到正確的價值「bigip1.local」在螢火蟲發佈數據,但在PHP中,我仍然得到「bigip1_local」只要我訪問$ _POST ... – roegi