Hy vọng rằng ai đó có thể giúp tôi giải quyết vấn đề sau trong khi phát triển một ứng dụng di động trong điện thoại. Tôi đang cố gắng đọc các bài đăng từ cài đặt wordpress nhưng tôi gặp phải lỗi này khi tôi chạy trang index.html trên chromeLỗi Truy cập-Kiểm soát-Cho phép-Xuất xứ khi nhận các bài đăng Wordpress trong ứng dụng Phonegap
XMLHttpRequest không thể tải Gốc null không được Access-Control-Allow-Origin cho phép.
Tôi đã cài đặt plugin JSON-API trong wordpress và khi tôi điều hướng đến trang tôi muốn tôi có thể xem nó ok. Mã của tôi là như sau:
<!DOCTYPE HTML>
<html>
<header>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
function readSinglePost (url,target_div) {
var URL = url//+"&callback=?";
console.log(URL);
jQuery.ajax({
url: URL,
dataType: 'json',
success: function(data) {
console.log(data);
jQuery(target_div).append("<h1>"+data.post.title+"</h1>");
jQuery(target_div).append(data.post.content);jQuery(target_div).
append("<small>"+data.post.date+"</small>");
console.log(data.post.content);
}
});
}
jQuery(document).ready(function() {
var url = "http://www.example.com/api/get_post/?json=get_post&dev=1&id=5486";
var target_div = "#contents";
readSinglePost(url, target_div);
});
</script>
</header>
<body>
<div id="main">
<div id="title"></div>
</div>
</body>
</html>
CẬP NHẬT Để đối phó với Jamie dưới
Yêu cầu Raw
GET /api/get_post/?json=get_post&dev=1&id=5486 HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Origin: null
Connection: keep-alive
liệu đáp ứng
HTTP/1.1 200 OK
Date: Fri, 05 Jul 2013 16:51:49 GMT
Server: Apache/2.2.11 (Unix)
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Pingback: http://www.example.com/xmlrpc.php
Set-Cookie: PHPSESSID=f6308c2732752bbb1149b345018bdf68; path=/
Set-Cookie: wc_session_cookie_a111a960a9b29354988b3de48943ad50=IRhSF41ZHIBHMA3mmCCSSjdOSxqXf2wj%7C%7C1373215910%7C%7C1373212310%7C%7Cd472ed970a72ba78e8b2c836a1d8b2cc; expires=Sun, 07-Jul-2013 16:51:50 GMT; path=/; httponly
Set-Cookie: woocommerce_items_in_cart=0; expires=Fri, 05-Jul-2013 15:51:50 GMT; path=/
Set-Cookie: woocommerce_cart_hash=0; expires=Fri, 05-Jul-2013 15:51:50 GMT; path=/
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/plain; charset: UTF-8
Content-Length: 57602
Hi Jamie, nhờ trả lời của bạn. Tôi đã dán mã bạn đề xuất vào đầu tệp header.php của tôi trong chủ đề mà tôi đang sử dụng nhưng tôi vẫn gặp sự cố tương tự, bất kỳ ý tưởng nào? – ILI
Tôi khuyên bạn nên lấy một bản sao của [Fiddler2] (http://fiddler2.com/) cho Windows.Điều này sẽ hoạt động như một proxy và cho phép bạn kiểm tra tất cả lưu lượng truy cập web. Sau đó, bạn có thể xem tất cả các yêu cầu và phản hồi, điều này có khả năng sẽ cho phép bạn cung cấp thông tin bổ sung. –
Hi Jamie, tôi đã có một cái nhìn với Fiddler2 và không có gì rõ ràng xuất hiện tiếc là vẫn nhận được lỗi. – ILI