【问题标题】:Kohana urls doesn't work like i needKohana url 不像我需要的那样工作
【发布时间】:2012-01-20 14:34:53
【问题描述】:

所以,我遇到了一个困扰我很长一段时间的 url 问题,例如,现在我用 jquery 创建了 iframe,然后我得到了我想要的 html:

<iframe class="iframe" src="user/upload_image" name="iframeTarget">

我当前的 url 是:user/messages/kazkoks,但由于某种原因,当 iframe 加载时,我收到错误,告诉我找不到 url user/messages/user/upload_image

所以由于某种原因,当我不需要时,kohana 会添加我user/messages,我该如何解决?

【问题讨论】:

    标签: kohana kohana-3


    【解决方案1】:

    由于您当前的 URL 指向相对于您的 user/messages 目录,我认为您应该在您的 url 前面添加一个斜杠 /。

    所以你的 HTML 会变成:

    <iframe class="iframe" src="/user/upload_image" name="iframeTarget">
    

    编辑:使用url 助手的另一个变体:

    <iframe class="iframe" src="<?php echo url::base().'user/upload_image'; ?>" name="iframeTarget">
    

    编辑 2:另一个使用 JS 的变体

    var url = window.location.pathname.replace(/\/user\/messages\/\w$/g, "/user/upload_image");
    document.getElementByName("iframeTarget").setAttribute('src', url);
    

    【讨论】:

    • 是的,没有任何改变,例如,如果我在 href 中使用 ,我必须使用 url::base() 否则当页面变得更复杂时会产生错误
    • 是的,但是我不能使用它,因为我正在使用js 创建 iframe,所以我发现我需要添加包含我的网站的文件夹名称,所以它会是website/user/upload_image 但是如果我将我的网站移动到其他主机并且没有这样的文件夹怎么办?
    • 嗯,也许您可​​以将 url::base() 作为参数传递给您的 JS 函数,该函数正在创建您的 iframe 并在您的 JS 函数中将其与 user/upload_image 连接。
    • 是的,我想我可以这样做,但现在我想也许我可以使用window.location.pathname 之类的东西,我只需要获取文件夹名称(如果有的话)
    • 我认为这是个好主意。也许是这样的:window.location.pathname.replace(/\/user\/messages\/kozkas$/g, "/user/upload_image")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-12
    • 1970-01-01
    相关资源
    最近更新 更多