그래서 사용자가 링크를 입력하고 정보를 추출하여 목록에 넣을 수있는 웹 사이트가 있습니다.이 jquery 스크립트가 작동하지 않는 이유는 무엇입니까?
어제까지 내 웹 호스팅 파트너가 일부 업그레이드를 완료 할 때까지 모든 것이 정상적으로 작동했습니다. 나는 그 mysql & PHP가 업그레이 드되었습니다 알아요,하지만 다른 무엇을 모르겠어요.
처음에는 DB에 로그인 할 수 없다는 문제가있었습니다 (사용자를 삭제하고 다시 만들어야 만했습니다). 그런 다음 JSON 용 PHP serialise의 문제 (코드를 변경해야 함). 그런 다음 412 잘못된 전제 조건 오류 (호스팅 파트너가 설정 한 특수 규칙이 필요함). 그리고 마지막으로 jquery 스크립트의 마지막 기능이 작동하지 않습니다. 그러나 나는 왜 그런지 전혀 모른다. 전에는 잘되었지만 운이 좋았을 수도 있습니다.
어쨌든, 무슨 일
- 사용자가 링크를 입력합니다.
- jquery는 JSON을 반환하는 링크를 호출합니다.
- JSON이 구문 분석되고 웹 페이지가 결과로 업데이트됩니다.
- 사용자가 저장을 클릭하면 데이터가 DB에 입력됩니다.
방화 광구를 사용하고 내 자바 스크립트에 경고를 배치하면 1 단계 2 단계가 올바르게 작동하는 것을 볼 수 있습니다. 반환 된 JSON이 유효합니다 (JSONlint로 확인했습니다). 그러나 3 단계는 작동하지 않습니다. 내 스크립트는 아래에 있습니다.
function getURLData(form)
{
var listid = $('input#listid').val();
var memberid = $('input#memberid').val();
var link = $('input#link').val();
var sendstr = "http://www.wishindex.com/ajax.php?link=\"" + link + "\"&listid=" + listid + "&memberid=" + memberid;
alert(sendstr);
$.getJSON(sendstr,function(result)
{
alert('inside');
if(result['Itemname'] != "")
{
alert('inside2');
$('#itemname').val(result['Itemname']);
$('#itemname').attr('readonly', 'true');
$('#desc').val(result['Description']);
$('#category').val(result['Category']);
$('#category').attr('readonly', 'true');
$('#price').val(result['Price']);
$('#price').attr('readonly', 'true');
$('#choosepicture').attr('onclick', 'window.open(\'http://www.wishindex.com/picture.php?link=' + result['Link'] + '\')');
if (result['PictureLink'] != "")
{
$('#picturelink').val(result['PictureLink']);
$('#picturelink').attr('readonly', 'true');
}
else
$('#choosepicture').removeAttr('disabled');
$('#automatic').attr('value', 'true');
$('#currency').val(result['Currency']);
$('#currency').attr('readonly', 'true');
}
else
{
$('#automatic').attr('value', 'false');
$('#manual').html('Please enter details manually');
$('#choosepicture').removeAttr('disabled');
$('#choosepicture').attr('onclick', 'window.open(\'http://www.wishindex.com/picture.php?link=' + result['Link'] + '\')');
}
});
}
내가 다음 경고를 활성화하면 내가 JSON이 (불을 지르고 수동으로 링크를 호출을 통해) 유효하며,라는 링크가 올바른지 참조 경고 (& 경고 ('내부') 'inside2 그 ')가 실행되어 코드의이 세그먼트에 도달하지만 HTML 요소가 업데이트되지 않습니다.
내가 말했듯이 업그레이드하기 전에 괜찮 았지만 어쩌면 내가 잘못했기 때문에이 시간을 보냈고 문제를 찾을 수 없어 도움이 될 것입니다.
내 JSON 응답;
[{"ID":"","MemberID":"24","Listid":"41","Itemname":"LEGO Star Wars 9489: Endor Rebel Trooper and Imperial Trooper","Description":null,"NumberDesired":null,"NumberPurchased":null,"Category":{"0":"TOYS_AND_GAMES"},"Link":"\"http:\/\/www.amazon.co.uk\/LEGO-Star-Wars-9489-Imperial\/dp\/B005KISGAI\/ref=pd_rhf_gw_shvl1\"","PictureLink":{"0":"http:\/\/ecx.images-amazon.com\/images\/I\/51fQnt%2BlppL._SL160_.jpg"},"Price":"9.89","Currency":"\u00a3","Priority":null,"SuggestedPurchaser":null,"ActualPurchaser":null,"PurchaseStatus":null,"Productid":"B005KISGAI","Site":"amazon.co.uk","DateAdded":null,"DatePurchased":null,"Domain":null,"Temp":["LEGO-Star-Wars-9489-Imperial","dp","B005KISGAI","ref=pd_rhf_gw_shvl1\""],"Error":"","Warning":null}]
당신은 (요청에 따라) 여기에서 찾을 수있는 JSON 결과 예를
에게 작업 데모를 위해이를 호출 할 수 있습니다; http://www.wishindex.com/test_newitem.php?listid=41
테스트하려면;
- 링크 필드에 amazon.co.uk 같은 http://www.amazon.co.uk/LEGO-Star-Wars-9489-Imperial/dp/B005KISGAI/ref=pd_rhf_gw_shvl1 에서 세부 사항과 나머지 필드를 얻을에
- 을 클릭합니다 제품 링크를 입력 자동으로 을 채워야 만 t은 어이 없습니다.
당신이 그것의 JSON 또는 일부를 보여줄 수있다
undefined
때문에는 그래서 'inside2'를 도달? – Andy
라이브 데모를 게시해야한다고 생각합니다. 호스팅 파트너가 업데이트를 완료했습니다. 승인. 하지만 아약스 호출의 json 결과가 괜찮다면 서버 측은 괜찮습니다. 클라이언트가 어제 일했다면 클라이언트는 괜찮습니다. 그래서 ... 적어도 가정 중 하나가 잘못되었습니다 :) –