У меня есть требование, которое получает данные Json с перекрестными доменами через Ajax. Мне нужно поддерживать 2 разных сервера (сервер A и сервер B).Данные Ajax для перекрестных доменов
Сервер A содержит только статическое содержимое. ie: JS, Images, Css
Сервер B содержит только динамическое содержимое т.е. php driven
Согласно вышеизложенному, я настроил и успешно настроил среду Nginx + Apache на моем локальном компьютере.
У меня есть два домена на моем локальном хосте.
Сервер: http://localhost:9000/
> работает на Nginx как передний конец для статического контента
Сервер Б: http://localhost:8888/
> работает на Apache в качестве задней части для динамического контента (т.е. PHP)
Сервер содержит
index.html jquery и пользовательский Ajax обработка java script.
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="./js/jquery-1.7.2.min.js" type="application/javascript"></script>
<script src="./js/script.js" type="application/javascript"></script>
<title>Ajax</title>
</head>
<body>
<div id="result"></div>
</body>
</html>
script.js
$(document).ready(function(e) {
var url = 'http://localhost:8888/drp/application/ajax.php';
var success = function(data){
var set = "";
set += "Name: "+ data['fname']+ " " + data['lname']+"<br>";
set += "Age: "+ data['age']+"<br>";
set += "Address: "+ data['address']+"<br>";
set += "Email: "+ data['email']+"<br>";
set += "Web: "+ data['web']+"<br>";
$('#result').html(set);
};
var error = function(jqXHR, textStatus, errorThrown){
//alert(errorThrown);
alert('errorThrown');
};
$.ajax({
type: 'GET',
url: url,
data:{todo:"jsonp"},
dataType: "jsonp",
crossDomain: true,
cache:false,
success: success,
error: error
});
});
Сервер 2 содержат ajax.php который обработать запрос Ajax
ajax.php
<?php
#header('Content-Type: application/json');
header('Content-Type: application/javascript');
$x = array(
'fname' => 'Jone',
'lname' => 'Max',
'age' => '26',
'address' => 'London,Uk',
'email' => '[email protected]',
'web' => 'http://jonemaxtest.com',
);
print json_encode($x,true);
?>
Когда я звоню это передний конец index.html, я могу увидеть ошибку, как этот
SyntaxError: missing ; before statement
{"fname":"Jone"...}
Я попытался так, возможно, время, но я и не получить правильный результат. каждый раз, когда я получаю такое сообщение об ошибке. также я попытался изменить заголовок («Content-Type: application/javascript»); в заголовок ('Content-Type: application/json'); но не работает.
где я сделал свою ошибку в этом наборе кода ...?
Пожалуйста, помогите мне.!
Здравствуйте Sarath ваших исправлений точно правильно. он работает для меня. Большое спасибо. – Umanda
добро пожаловать. Если это поможет, отметьте ответ как правильный. – SarathSprakash