Làm cách nào để nhận được giá trị của biến hoặc biến bài đăng khi tải trang bằng JavaScript?Nhận giá trị GET hoặc POST biến bằng JavaScript?
Trả lời
Bạn không thể nhận được giá trị của các biến POST sử dụng Javascript, mặc dù bạn có thể chèn nó vào tài liệu khi bạn xử lý yêu cầu trên máy chủ.
<script type="text/javascript">
window.some_variable = '<?=$_POST['some_value']?>'; // That's for a string
</script>
biến GET có sẵn thông qua các window.location.href
, và một số khuôn khổ thậm chí có methods sẵn sàng để phân tích chúng.
Thay vì viết giá trị POST trực tiếp, bạn có thể sử dụng 'json_encode' –
@Ken Keenan: bạn cảm ơn! Và bạn cũng có thể làm một số xác nhận trước đó. Tôi chỉ cố gắng thể hiện quan điểm của mình. –
Không thực hiện bất kỳ loại mã hóa hoặc xác nhận nào có nghĩa là mã được viết là [dễ bị tổn thương đối với XSS] (https://www.owasp.org/index.php/XSS). – Quentin
Bạn chỉ có thể lấy đối số URI bằng JavaScript.
// get query arguments
var $_GET = {},
args = location.search.substr(1).split(/&/);
for (var i=0; i<args.length; ++i) {
var tmp = args[i].split(/=/);
if (tmp[0] != "") {
$_GET[decodeURIComponent(tmp[0])] = decodeURIComponent(tmp.slice(1).join("").replace("+", " "));
}
}
Khi tôi đã có vấn đề tôi đã lưu các giá trị vào một đầu vào ẩn:
trong nội dung html:
<body>
<?php
if (isset($_POST['Id'])){
$fid= $_POST['Id'];
}
?>
... sau đó đưa đầu vào ẩn trên trang và viết giá trị $ fid với php echo
<input type=hidden id ="fid" name=fid value="<?php echo $fid ?>">
sau đó trong $ (tài liệu) .ready (function() {
var postId=document.getElementById("fid").value;
vì vậy tôi đã nhận thông số url ẩn trong php js.
Điều này không an toàn. Nó cho phép bất cứ ai chèn HTML tùy ý vào ứng dụng của bạn (họ có thể đăng ''' và thoát khỏi thuộc tính) –
Với ít php rất dễ dàng.
HTML phần:
<input type="text" name="some_name">
Javascript
<script type="text/javascript">
some_variable = "<?php echo $_POST['some_name']?>";
</script>
Điều này là hoàn toàn không an toàn. Nếu ai đó viết một cái gì đó chứa '" thì họ có thể theo dõi nó với JavaScript tùy ý. –
Cũng lưu ý rằng thoát '' 'là không đủ, bạn cần phải bảo vệ chống lại' 'quá. Sử dụng' json_encode' (mà bây giờ thoát dấu gạch chéo ngược) được đề nghị –
// Captura datos usando metodo GET en la url colocar index.html?hola=chao
const $_GET = {};
const args = location.search.substr(1).split(/&/);
for (let i=0; i<args.length; ++i) {
const tmp = args[i].split(/=/);
if (tmp[0] != "") {
$_GET[decodeURIComponent(tmp[0])] = decodeURIComponent(tmp.slice(1).join("").replace("+", " "));
console.log(`>>${$_GET['hola']}`);
}//::END if
}//::END for
Điều này có thể cần một số giải thích hữu ích .. –
/**
* getGET: [Funcion que captura las variables pasados por GET]
* @Implementacion [pagina.html?id=10&pos=3]
* @param {[const ]} loc [capturamos la url]
* @return {[array]} get [Devuelve un array de clave=>valor]
*/
const getGET =() => {
const loc = document.location.href;
// si existe el interrogante
if(loc.indexOf('?')>0){
// cogemos la parte de la url que hay despues del interrogante
const getString = loc.split('?')[1];
// obtenemos un array con cada clave=valor
const GET = getString.split('&');
const get = {};
// recorremos todo el array de valores
for(let i = 0, l = GET.length; i < l; i++){
const tmp = GET[i].split('=');
get[tmp[0]] = unescape(decodeURI(tmp[1]));
}//::END for
return get;
}//::END if
}//::END getGET
/**
* [DOMContentLoaded]
* @param {[const]} valores [Cogemos los valores pasados por get]
* @return {[document.write]}
*/
document.addEventListener('DOMContentLoaded',() => {
const valores=getGET();
if(valores){
// hacemos un bucle para pasar por cada indice del array de valores
for(const index in valores){
document.write(`<br>clave: ${index} - valor: ${valores[index]}`);
}//::END for
}else{
// no se ha recibido ningun parametro por GET
document.write("<br>No se ha recibido ningún parámetro");
}//::END if
});//::END DOMContentLoaded
Đây là answ của tôi er cho chuỗi returnURL đã cho, giống như http://host.com/?param1=abc¶m2=cde. Nó khá cơ bản khi tôi bắt đầu với JavaScript (đây thực sự là một phần của chương trình đầu tiên của tôi trong JS), và làm cho nó dễ hiểu hơn là khó khăn.
Ghi chú
- Không tỉnh táo kiểm tra các giá trị
- Chỉ cần xuất ra đến console - bạn sẽ muốn lưu trữ chúng trong một mảng hoặc một cái gì đó
này chỉ dành cho GET, POST và không
var paramindex = returnURL.indexOf('?'); if (paramindex > 0) { var paramstring = returnURL.split('?')[1]; while (paramindex > 0) { paramindex = paramstring.indexOf('='); if (paramindex > 0) { var parkey = paramstring.substr(0,paramindex); console.log(parkey) paramstring = paramstring.substr(paramindex+1) // +1 to strip out the = } paramindex = paramstring.indexOf('&'); if (paramindex > 0) { var parvalue = paramstring.substr(0,paramindex); console.log(parvalue) paramstring = paramstring.substr(paramindex+1) // +1 to strip out the & } else { // we're at the end of the URL var parvalue = paramstring console.log(parvalue) break; } } }
- 1. Quản trị Django: Đặt trước giá trị từ POST hoặc GET?
- 2. is_int và GET hoặc POST
- 3. REST - nhận số ngẫu nhiên GET hoặc POST?
- 4. Nhận tất cả các biến được gửi bằng POST?
- 5. Cách nhận giá trị phiên bằng cách sử dụng javascript
- 6. cách nhận giá trị POST trong perl
- 7. Get giá trị PropertyInfo
- 8. Unity GET/POST Wrapper
- 9. Ràng buộc POST/GET trong vợt
- 10. JavaScript - Nhận các giá trị dạng HTML
- 11. Nhận giá trị thuộc tính xml SQL bằng biến số
- 12. web.py: cách nhận tham số POST và tham số GET?
- 13. jQuery đối tượng get giá trị bằng phím
- 14. Rails POST, PUT, GET
- 15. Javascript Nhận giá trị phần tử
- 16. jQuery - Nhận các giá trị biểu mẫu cho ajax POST
- 17. Thông số JSP, GET và POST
- 18. jquery $ .post() vs $ .get()
- 19. Nhận giá trị cảm biến ánh sáng
- 20. Kiểm tra xem một yêu cầu là GET hoặc POST
- 21. Khách hàng có nên nhận mã thông báo truy cập OAuth 2 bằng GET hoặc POST không?
- 22. POST so với bài đăng, GET và nhận được
- 23. Nhận chuỗi truy vấn giá trị mảng trong Javascript
- 24. GET và POST trong AJAX?
- 25. jQuery ajax() vs get()/post()
- 26. Https POST/GET với Qml/Qt
- 27. Chuyển biến Javascript để định tuyến giá trị trong MVC3
- 28. GET và POST trong REST Web Service
- 29. Nếu biến bằng giá trị php
- 30. Làm cách nào để tôi biết trang php nếu ai đó đến bằng POST hoặc GET?
liên quan http://stackoverflow.com/questions/1409013/how-to-read-the-post-req uest-parameters-using-javascript –