次のjqueryコードはローカルサーバで正常に動作しますが、リモートサーバでは動作しません。 FYIリモートサーバーがjqueryを認識しています。私はそれを達成したMy Stackoverflow Qjquery postとgetメソッドがリモートサーバで動作しない
Merry Flowers Admission Pageで問題をチェックアウトしてください。 [email protected]とメールID(親情報)を入力してタブキーを押すと、それ以降のフォーム要素はすべて自動的に入力されます。しかし、ここでそれをしていません。
Request URL:http://www.merryflowers.com/students/get_parent_info
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:52
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:CAKEPHP=b0103aa50047806a7063301569298541
Host:www.merryflowers.com
Origin:http://www.merryflowers.com
Referer:http://www.merryflowers.com/students/add
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19
X-Requested-With:XMLHttpRequest
Form Dataview URL encoded
data[MerryParent][email]:[email protected]
Response Headersview source
Connection:Keep-Alive
Content-Type:text/html; charset=UTF-8
Date:Fri, 20 Apr 2012 18:56:03 GMT
Keep-Alive:timeout=5, max=100
P3P:CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Server:Apache
Transfer-Encoding:chunked
X-Powered-By:PHP/5.2.17
ネットワーク応答およびプレビュー:以下
がためのChromeの開発ツールからネットワークヘッダ/学生/ get_parent_infoあるFYI
****************************************
、私はすでにそこに存在していることを確認しました[email protected]のレコード。
lazerbladeの答えを読んだあと、wwwとpublic_htmlフォルダのindex.phpとtest.phpをチェックしました。リモートサーバーのルートは/ home/aquinto1です。私はこれらのファイルを長い間変更しました。私は今ここで何も修正しなかった。以下は
私のコードです:
のindex.php
if (!defined('ROOT')) {
define('ROOT', DS.'home'.DS.'aquinto1');
//define('ROOT', dirname(dirname(dirname(__FILE__))));
}
/**
* The actual directory name for the "app".
*
*/
if (!defined('APP_DIR')) {
define('APP_DIR','app');
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
}
/**
* The absolute path to the "cake" directory, WITHOUT a trailing DS.
*
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
//define('CAKE_CORE_INCLUDE_PATH', ROOT);
define('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'aquinto1');
}
test.phpを
if (!defined('ROOT')) {
define('ROOT', DS.'home'.DS.'aquinto1');
//define('ROOT', dirname(dirname(dirname(__FILE__))));
}
/**
* The actual directory name for the "app".
*
*/
if (!defined('APP_DIR')) {
define('APP_DIR','app');
//define('APP_DIR', basename(dirname(dirname(__FILE__))));
}
/**
* The absolute path to the "cake" directory, WITHOUT a trailing DS.
*
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
//define('CAKE_CORE_INCLUDE_PATH', ROOT);
define('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'aquinto1');
}
<script type="text/javascript">
//var j=jQuery.noConflict();
$(document).ready(function(){
$("#MerryParentEmail").change(function(){
//txt=$("#MerryParentEmail").val();
email_id=$("#MerryParentEmail").serialize();
$.post("/students/get_parent_info",email_id,function(result_str){
result_array=result_str.split('*****');
$("#MerryParentInitial").val(result_array[0]);
$("#MerryParentName").val(result_array[1]);
$("#MerryParentLandline").val(result_array[2]);
$("#MerryParentMobile").val(result_array[3]);
$("#MerryParentAddress").val(result_array[4]);
$("#MerryParentStateId").val(result_array[5]);
state=result_array[5];
txt_str="state_id="+state;
$.get("/students/getcities",txt_str,function(result){
$("#MerryParentCityId").html(result).show();
$("#MerryParentCityId").val(result_array[6]);
});
$("#MerryParentPostalCode").val(result_array[7]);
});
});
$("#MerryParentStateId").change(function(){
state=$(this).val();
txt_str="state_id="+state;
$.get("/students/getcities",txt_str,function(result){
$("#MerryParentCityId").html(result).show();
});
});
});
</script>
students_controllerのget_parent_infoのFUNCとgetcitiesのFUNC:
function get_parent_info(){
//$this->layout=false;
if (!empty($this->data)){
$merryparent_info=$this->Student->MerryParent->getMerryParents($this->data['MerryParent']['email']);
print_r($merryparent_info);
echo $merryparent_info['MerryParent']['initial'].'*****';
echo $merryparent_info['MerryParent']['name'].'*****';
echo $merryparent_info['MerryParent']['landline'].'*****';
echo $merryparent_info['MerryParent']['mobile'].'*****';
echo $merryparent_info['MerryParent']['address'].'*****';
echo $merryparent_info['MerryParent']['state_id'].'*****';
echo $merryparent_info['MerryParent']['city_id'].'*****';
echo $merryparent_info['MerryParent']['postal_code'].'*****';
}
}
function getcities(){
$this->data['MerryParent']['state_id']=$_GET['state_id'];
if (!empty($this->data['MerryParent']['state_id'])){
$cities = $this->Student->MerryParent->City->getCities($this->data['MerryParent']['state_id']);
//print_r($cities);
foreach ($cities as $k=>$v){
echo '<option value="'.$k.'">'.$v.'</option>';
}
/* foreach($cities as $optionValue){
echo '<option>' . $optionValue . '</option>';
}*/
}else{
$this->Session->setFlash('You didn\'t select a state!');
}
}
私のドメイン内にajaxの投稿リクエストを作成しています。クロスドメインではありません。/students/get_parent_infoと/ students/get_citiesはどちらも私のドメイン内にあります。 – vaanipala
私の質問に言及したように、私のドメインはhttp://www.merryflowers.comです。 get_parent_info関数とgetcities関数は、モデルを使用してデータベーステーブルからデータを取得しています。 – vaanipala