Tôi cần đăng dữ liệu lên trang php và sau đó tôi muốn nhận được văn bản của một div nhất định trong phản hồi nhưng dường như tôi không thể đặt những thứ lên một cách chính xác. Tôi không quá tốt với jQuery nhưng tôi thường có thể tìm ra những thứ khá nhanh ... Tôi đã ở đây một chút và đã thử tất cả mọi thứ tôi đã tìm thấy ... Tôi nghĩ rằng tôi chỉ thiếu sự kết hợp của các công cụ .Tìm một phần tử bằng ID trong một phản ứng AJAX với jQuery
$.post("process.php", data , function (response) {
var w = window.open();
$(w.document.body).html(response);
console.log(typeof response); // yeilds string
//create jquery object from the response html
// var $data = $(response); // yeilds Uncaught Error: Syntax error, unrecognized expression: + whole html text
var success = $($.parseHTML(response)).find("#success");
console.log('success');
console.log(success); // see screenshot
console.log(success.text()); // yields nothing
console.log(success.val()); // yields undefined
// if (window.focus) {w.focus()};
},'html');
này là sản phẩm của console.log(success);
và hộp màu đỏ là những gì tôi muốn từ phản ứng ...
! [Hình ảnh này có vẻ thực sự nhỏ ... nó không phải là nhỏ khi tôi thực hiện nó. Tôi hy vọng nó vẫn còn có thể đọc được] [1]
và điều này rằng:
var success = $(response).find("#success");
console.log('success');
console.log(success); // yeilds Uncaught Error: Syntax error, unrecognized expression: + whole html text in red
đáp ứng là ...
<html><head>
<style>
div.totals {
font-family:calibri; font-size:.9em; display:inline-block;
border-width: 2px; border-style: solid; border-color: #FFD324;
background-color: #FAF5D7; color: #514721;
width: 500px;
}
div.error_invalid {
font-family:calibri; font-size:.9em; display:inline-block;
border-width: 2px; border-style: solid; border-color: #9999CC;
background-color: #EEEEFF; color: #7979B8;
}
</style>
</head>
<body>
<div class="totals">Total new rows added: 0 out of 0<br/></div>
<br/><br/>
<div class="totals">Total updated rows: 0 out of 0 <br/></div>
<div id="success">true</div>
</body></html>
Và tôi đã cố gắng loại bỏ các phần phong cách và tôi thêm vào trong các thẻ html, head và body trong hy vọng rằng nó sẽ giúp .... ý nghĩa, tôi có cùng một vấn đề nếu đáp ứng chỉ bao gồm ba div.
Có thể hiển thị nội dung 'respone' – pktangyue
vâng. Tôi đã không chắc chắn nếu nó là cần thiết vì những gì nó đã cho tôi trong ảnh chụp màn hình dường như được giải thích một cách chính xác vào thời điểm đó. –
Bạn đã thử '$ (w.document.body) .find ('# success')'? – pktangyue