2017-11-28 2 views
0

나는 두 개의 Shiny 앱을 가지고 있는데, App 1을 사용하여 App 2 (이 경우 유전자 이름)에 대한 입력을 생성하고 싶습니다. 앱 1 유전자 이름 shinyparseQueryString()를 통해 분석 한 다음 R 링크에서 반짝이는 앱로드로 인해 RestoreContext 오류가 발생하지만 여전히 작동합니까?

이 앱 1 시뮬레이트하기 위해 응용 프로그램 (2)에 관해서 어떤 수행되고, 난 그냥 간단한 HTML 파일을 (내가 this webinar about bookmarking의 링크 구조를 가지고)가 :

<html> 
    <body> 
    <div> 
     <a href="http://10.59.24.60:3800/quux/?_inputs_&gene=IL23R">Send to targetProfiler</a> 
    </div> 
    </body> 
</html> 

여기서 "quux"는 앱 2의 이름입니다. 나는 그러나, 나는 오른쪽 하단 모서리

like this

shiny 오류 메시지의 링크를 클릭하고 응용 프로그램이 가져온하고, 후 등, 데이터베이스에 유전자 이름을 검색하는 것이 shiny은 실제로 URL 매개 변수를 구문 분석하지 못했다고 생각합니다.

이이 같은 설정 처리하는 서버 코드 :

observe({ 
    #make sure its first time loading app 
    if (!vals$firstLoad) { 
    return (NULL) 
    } 

    query <- parseQueryString(session$clientData$url_search) 
    # browser() 
    # Only continues when there is gene names to be queried in the URL 
    req(query[['gene']]) 

    # Get URL parameter 
    inputText <- paste0(unique(splitByComma(query[['gene']])), collapse = ',') # Only unique terms 

    #do stuff with inputText 
    #... 
    #... 

이 경고/오류를 억제 할 수있는 방법이 있나요? 또는 shiny은 실제로 URL 매개 변수를 제대로 구문 분석하지 못했다고 잘못 생각하고 있습니까?

답변

0

즐겨 찾기 값은 URL에 JSON으로 인코딩됩니다. IL23R은 큰 따옴표가없는 유효한 JSON 문자열이 아닙니다. gene="IL23R"이 작동해야하며 백분율로 인코딩하면 gene=%22IL23R%22과 같습니다.

+0

내가 링크 된 웹 세미나를 시청하십시오. 발표자는 JSON에 대해 아무 말도하지 않고, 큰 따옴표 또는 '% 22'을 (를) 포함하도록 링크를 변경하면 앱이 다운됩니다. 제가 링크를 쓴 방법은 그를 위해 일하는 것 같아요, 왜 나를 위해 오류를 던지고 있지만 여전히 실제로 일하고 있는지 궁금합니다. –

+0

실행 가능한 예를 게시 할 수 있습니까? 앱이 다운되면 오류 메시지가 표시됩니까? 명시 적으로 호출되지 않으면 적어도 8시에 URL 예제에 큰 따옴표로 인코딩 된 문자열이 표시됩니다. –

+0

발표자가 따옴표로 묶인 이유가 확실하지 않습니다. 그 뒤에 실제 예제가 없기 때문에 인용 부호가있는 것 같습니다. 하지만 더 작고 기본적인 앱으로 재현하려했습니다. 조금 까다 롭지 만 작동시킬 때 제 질문을 편집 할 것입니다. –

관련 문제