我正在使用cakephp我有2个链接:
<a href="#" tabindex="1" onclick="base_load_demo1('http://www.boxyourtvtrial.com/widget/beer/main/');" >beer</a>
<a href="#" tabindex="2" onclick="base_load_demo('http://www.boxyourtvtrial.com/widget/cocktail/main/');">cocktail</a>
使用以下JavaScript:
var Url1 = "http://www.boxyourtvtrial.com/widget/cocktail/main/";
var Url2 = "http://www.boxyourtvtrial.com/widget/beer/main/";
var Url3 = "http://www.boxyourtvtrial.com/widget/beer/mini/";
function base_load_demo(Url) {
remoteCall(Url1,"","mainLeftContent");
//remoteCall("SCRIPT_PATH","QUERY_STRING","TARGET_FUNCTION");
}
function base_load_demo1(Url2) {
remoteCall(Url2,"","mainLeftContent");
//remoteCall("SCRIPT_PATH","QUERY_STRING","TARGET_FUNCTION");
}
当我点击第一个链接时,它通过ajax调用显示其内容,但是当我点击第二个链接时,它给出的错误如下:
缺少控制器
错误:Http:无法找到控制器。
错误:在文件中创建下面的Http:Controller类:app / controllers / http:controller.php
<?php
class Http:Controller extends AppController {
var $name = 'Http:';
}
?>
注意:如果要自定义此错误消息,请创建app / views / errors / missing_controller.ctp
并在FireFox控制台选项卡中
POST http://www.boxyourtvtrial.com/widget/beer/main/http://www.boxyourtvtrial.com/widget/cocktail/main/
我们如何同时解决这种双重URL呼叫?
var xmlHttp;
var uri = "";
var callingFunc = "";
var sResponse = new Array();
function remoteCall(sUrl, sQueryStr, sCalledBy)
{
alert(sUrl);
var resStr = "";
var str = " { ";
if(sQueryStr != "") {
var arr1 = new Array();
arr1 = sQueryStr.split("&");
if(arr1){
for(i=0;i<=arr1.length;i++)
{
if(arr1[i] && arr1[i] != "")
{
var arr2 = new Array();
arr2 = arr1[i].split("=");
str += arr2[0]+":'"+arr2[1]+"' ,";
}
}
}
}
str += " tp: 'tp' } ";
$.ajax({
type: "GET",
url: sUrl,
data: sQueryStr,
dataType: "html",
success: function(data) {
$("#"+sCalledBy).html(data);
//jih(sCalledBy,data);
}
});
/* $.get(sUrl,sQueryStr,function(data) {
jih(sCalledBy,data);
});*/
}
function jih(divid,data)
{
if(document.getElementById(divid))
document.getElementById(divid).innerHTML=data;
}
答案 0 :(得分:1)
首次调用其中任何一个页面后,它会加载:
<script type="text/javascript" src="http://www.boxyourtvtrial.com/widget/cocktail/main/js/common.js"></script>
标题中的。 common.js内部是一个名为 remoteCall 的函数,它覆盖了本地的remoteCall函数。
common.js中的remoteCall函数添加
var url= WIDGET_WEG_PATH+scr_url;
其中 WIDGET_WEG_PATH =“http://www.boxyourtvtrial.com/widget/beer/main/”
和 scr_url =“http://www.boxyourtvtrial.com/widget/beer/main/”(新的remoteCall函数的第一个参数)
这就是你在帖子中获得网址“加倍”的原因。
<强>解决方案:强>
将本地remoteCall函数重命名为distinct。