Я много читаю для ' Access-Control-Allow-Origin * 'в заголовок. И я не знаю, как использовать здесь $ .getJSON, если применимо, потому что мне нужно добавить заголовок авторизации, и я не знаю, как это сделать без beforeCall из $ .ajax: /
Любой свет для этого тьма уу?
Это код:
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
var scope = "https://www.googleapis.com/auth/moderator";
var token = '';
function create(){
if (token == '')
token = doCheck();
var myData = {
"data": {
"description": "Share and rank tips for eating healthily on the cheaps!",
"name": "Eating Healthy & Cheap",
"videoSubmissionAllowed": false
}
};
$.ajax({
url: 'https://www.googleapis.com/moderator/v1/series?key='+key,
type: 'POST',
callback: '?',
data: myData,
datatype: 'application/json',
success: function() { alert("Success"); },
error: function() { alert('Failed!'); },
beforeSend: setHeader
});
}
function setHeader(xhr) {
xhr.setRequestHeader('Authorization', token);
}
function doLogin(){
if (token == ''){
token = google.accounts.user.login(scope);
}else{
alert('already logged');
}
}
function doCheck(){
token = google.accounts.user.checkLogin(scope);
return token;
}
</script>
...
...
<div data-role="content">
<input type="button" value="Login" onclick="doLogin();">
<input type="button" value="Get data" onclick="getModerator();">
<input type="button" value="Create" onclick="create();">
</div><!-- /content -->
Существует немного взлома с php. И это работает не только с Google, но и с любым веб-сайтом Вы не управляете и не можете добавить Access-Control-Allow-Origin *
, Мы должны создать PHP-файл (напр. getContentFromUrl.php) на нашем веб-сервере и делают немного приема.
PHP
<?php
$ext_url = Существует немного взлома с php. И это работает не только с Google, но и с любым веб-сайтом Вы не управляете и не можете добавить Access-Control-Allow-Origin *
, Мы должны создать PHP-файл (напр. getContentFromUrl.php) на нашем веб-сервере и делают немного приема.
PHP
[110] JS
$.ajax({
method: 'POST',
url: 'getContentFromUrl.php', // link to your PHP file
data: {
// url where our server will send request which can't be done by AJAX
'ext_url': 'https://stackoverflow.com/questions/6114436/access-control-allow-origin-error-sending-a-jquery-post-to-google-apis'
},
success: function(data) {
// we can find any data on external url, cause we've got all page
var $h1 = $(data).find('h1').html();
$('h1').val($h1);
},
error:function() {
console.log('Error');
}
});
, Как это работает:
- Ваш браузер с помощью JS отправит запрос к Вашему серверу
- , Ваш сервер отправит запрос к любому другому серверу и получит ответ от другого сервера (любой веб-сайт)
- , Ваш сервер отправит этот ответ на Ваш JS
, И мы можем сделать события onClick, поместить это событие на некоторую кнопку. Надежда это поможет!
POST['ext_url'];
echo file_get_contents($ext_url);
?>
JS
$.ajax({
method: 'POST',
url: 'getContentFromUrl.php', // link to your PHP file
data: {
// url where our server will send request which can't be done by AJAX
'ext_url': 'https://stackoverflow.com/questions/6114436/access-control-allow-origin-error-sending-a-jquery-post-to-google-apis'
},
success: function(data) {
// we can find any data on external url, cause we've got all page
var $h1 = $(data).find('h1').html();
$('h1').val($h1);
},
error:function() {
console.log('Error');
}
});
, Как это работает:
, И мы можем сделать события onClick, поместить это событие на некоторую кнопку. Надежда это поможет!